Go back to the main page

All data is from FanGraphs. I have no affiliation with FanGraphs, but please consider contributing to their website if you found this project informative.

Positional Scarcity is determined by ATC WAR Projections from 4-10-2022.


WAR PROJECTIONS AND MODEL SCORES

Players that have an NA for Model_Score did not play in the MLB in 2021.


Overall

My model scores for a player are Model_Score. Note:Pitching Scores are normalized to equal the sum of WAR for hitters so they have inflated model scores. Other tabs have non-normalized scores.

Name Team Position ADP WAR Model_Score WAR_Rank Pos_Scarcity
Trea Turner LAD SS 1.2 5.6 9.94 5 0.96
José Ramírez CLE 3B 3.2 6.0 9.85 3 0.94
Juan Soto WSN OF 3.6 7.6 9.64 1 0.92
Bo Bichette TOR SS 4.4 4.7 9.70 14 0.89
Vladimir Guerrero Jr. TOR IF 4.5 5.5 10.04 6 0.88
Gerrit Cole NYY SP 7.0 5.0 9.07 12 0.96
Bryce Harper PHI OF 7.9 5.3 10.25 8 0.79
Shohei Ohtani LAA SP 8.2 2.7 8.21 102 0.64
Shohei Ohtani LAA DH 8.2 4.0 9.71 39 0.73
Corbin Burnes MIL SP 9.8 5.1 9.64 9 0.97
Kyle Tucker HOU OF 12.0 4.6 9.52 19 0.71
Mike Trout LAA OF 12.6 6.6 8.97 2 0.94
Rafael Devers BOS 3B 13.3 4.8 9.68 13 0.84
Ronald Acuña Jr. ATL OF 14.2 5.1 8.80 11 0.75
Mookie Betts LAD OF 14.7 5.8 9.20 4 0.88
Luis Robert CHW OF 15.4 4.6 9.56 20 0.85
Walker Buehler LAD SP 16.8 3.7 9.19 46 0.88
Ozzie Albies ATL 2B 17.5 4.1 9.11 38 0.88
Freddie Freeman LAD 1B 17.9 5.1 9.69 10 0.86
Max Scherzer NYM SP 19.0 3.7 7.00 45 0.89
Brandon Woodruff MIL SP 19.5 4.1 7.72 36 0.91
Manny Machado SDP 3B 22.6 4.6 9.01 21 0.79
Yordan Alvarez HOU DH 24.7 4.2 8.62 34 0.86
Teoscar Hernández TOR OF 27.1 2.2 9.48 160 0.40
Josh Hader MIL RP 28.3 1.2 3.97 318 0.92
Tim Anderson CHW SS 30.1 3.2 8.88 74 0.58
Starling Marte NYM OF 30.8 2.7 8.28 108 0.50
Shane Bieber CLE SP 31.0 4.3 10.55 28 0.93
Liam Hendriks CHW RP 31.1 1.6 4.47 240 0.98
Julio Urías LAD SP 32.1 3.3 8.22 63 0.81
Salvador Perez KCR C 32.5 3.7 8.18 50 0.82
Trevor Story BOS SS 33.1 4.3 8.66 31 0.68
Whit Merrifield KCR OF,Oth 33.6 2.3 7.07 150 0.42
Cedric Mullins BAL OF 34.4 3.2 9.15 71 0.66
Matt Olson ATL 1B 34.9 4.3 9.12 30 0.81
Zack Wheeler PHI SP 35.4 4.5 7.12 22 0.94
Aaron Judge NYY OF 35.4 5.3 9.13 7 0.84
Lucas Giolito CHW SP 38.4 3.8 9.10 41 0.87
Byron Buxton MIN OF 39.0 4.6 8.63 18 0.81
Marcus Semien TEX IF 40.3 4.7 10.24 16 0.85
Aaron Nola PHI SP 42.3 4.1 10.19 35 0.92
Sandy Alcantara MIA SP 42.5 3.2 8.21 70 0.77
Xander Bogaerts BOS SS 45.8 4.5 8.73 25 0.82
Pete Alonso NYM 1B 46.3 3.5 9.02 58 0.76
Raisel Iglesias LAA RP 46.4 1.0 4.48 370 0.82
Robbie Ray SEA SP 47.5 3.0 7.96 83 0.72
Paul Goldschmidt STL 1B 47.6 3.5 9.88 57 0.72
Tyler O'Neill STL OF 48.0 2.9 8.98 92 0.64
J.T. Realmuto PHI C 50.8 3.8 7.26 42 0.86
Freddy Peralta MIL SP 51.4 3.5 9.04 54 0.84
Francisco Lindor NYM SS 52.9 4.2 7.32 33 0.72
Austin Riley ATL 3B 53.1 3.1 8.52 77 0.46
Will Smith LAD C 54.4 4.7 6.97 17 0.95
Emmanuel Clase CLE RP 55.9 1.3 4.22 297 0.95
Nick Castellanos PHI OF 56.5 2.4 9.57 133 0.48
George Springer TOR OF 56.7 4.1 8.89 37 0.67
Adalberto Mondesi KCR SS 58.1 2.0 5.90 178 0.33
Wander Franco TBR SS 58.9 4.5 7.84 24 0.78
Edwin Díaz NYM RP 61.8 1.0 4.61 363 0.87
Kris Bryant COL OF,Oth 63.3 2.4 8.52 131 0.36
Javier Báez DET SS 63.8 2.8 8.59 97 0.53
Ryan Pressly HOU RP 65.2 1.0 4.40 371 0.86
Eloy Jiménez CHW OF 66.0 2.1 5.75 171 0.45
Logan Webb SFG SP 66.8 3.6 9.60 51 0.86
Max Fried ATL SP 67.3 3.5 7.61 55 0.82
Randy Arozarena TBR OF 67.6 1.9 7.91 202 0.34
Joe Musgrove SDP SP 68.4 3.1 7.34 75 0.75
Kevin Gausman TOR SP 71.0 3.1 7.98 76 0.75
Nolan Arenado STL 3B 71.3 3.7 8.09 49 0.66
Fernando Tatis Jr. SDP SS 71.7 3.4 5.53 59 0.63
Jacob deGrom NYM SP 71.8 3.2 3.79 68 0.98
Jose Altuve HOU 2B 74.8 3.8 8.99 44 0.81
José Berríos TOR SP 75.8 3.2 8.78 69 0.76
Dylan Cease CHW SP 77.5 3.3 11.08 61 0.79
Brandon Lowe TBR 2B 78.2 4.4 8.43 26 0.92
Justin Verlander HOU SP 78.9 1.9 NA 185 0.40
Ketel Marte ARI IF 78.9 3.7 8.17 47 0.65
Kenley Jansen ATL RP 79.0 0.6 3.86 483 0.64
Corey Seager TEX SS 79.6 4.4 7.57 27 0.75
José Abreu CHW 1B 79.9 2.1 8.25 174 0.46
Aroldis Chapman NYY RP 80.2 0.9 5.10 391 0.80
Jorge Polanco MIN IF 80.5 3.1 9.17 79 0.56
Jazz Chisholm Jr. MIA IF 81.0 1.8 6.72 210 0.28
Jordan Romano TOR RP 81.8 0.8 4.83 424 0.75
Alek Manoah TOR SP 87.8 2.7 10.10 98 0.66
Charlie Morton ATL SP 87.9 2.8 6.50 94 0.70
Trevor Rogers MIA SP 88.8 3.0 9.03 84 0.74
J.D. Martinez BOS OF 88.9 2.1 8.07 173 0.40
Alex Bregman HOU 3B 89.4 4.5 6.62 23 0.74
Frankie Montas OAK SP 91.2 3.3 8.68 62 0.78
Daulton Varsho ARI C,Oth 91.2 2.2 5.45 155 0.37
Jonathan India CIN 2B 92.2 3.8 8.61 43 0.84
Bryan Reynolds PIT OF 92.9 4.2 8.98 32 0.77
Yu Darvish SDP SP 93.3 2.7 7.95 104 0.65
Carlos Rodón SFG SP 94.9 2.9 6.82 87 0.69
Giancarlo Stanton NYY OF 95.1 2.3 7.02 142 0.51
Tommy Edman STL 2B 97.4 2.3 5.94 149 0.54
Carlos Correa MIN SS 98.5 4.7 7.69 15 0.92
Christian Yelich MIL OF 99.8 2.9 6.06 89 0.59
Yasmani Grandal CHW C 102.7 3.9 6.37 40 0.90
Shane McClanahan TBR SP 103.3 2.6 10.28 111 0.62
Lance Lynn CHW SP 106.2 2.3 4.62 137 0.80
Kyle Schwarber PHI OF 106.5 2.7 8.13 107 0.61
Mitch Haniger SEA OF 108.4 2.5 8.19 122 0.50
Anthony Rendon LAA 3B 108.7 4.3 4.12 29 0.70
Giovanny Gallegos STL RP 110.6 1.0 5.11 364 0.83
Willson Contreras CHC C 110.6 2.7 5.79 109 0.75
Blake Snell SDP SP 117.4 2.1 7.68 163 0.54
Chris Bassitt NYM SP 118.3 2.3 6.95 135 0.55
Max Muncy LAD IF 118.7 3.2 7.61 73 0.68
Rhys Hoskins PHI OF,Oth 118.9 3.1 7.95 80 0.64
Jared Walsh LAA 1B 120.7 2.3 7.58 143 0.52
Cody Bellinger LAD OF 121.4 2.9 3.28 90 0.61
Franmil Reyes CLE OF 121.7 1.9 7.93 195 0.32
Dansby Swanson ATL SS 123.5 2.7 7.54 106 0.49
C.J. Cron COL 1B 123.9 1.6 7.57 250 0.32
Ryan Mountcastle BAL OF,Oth 124.3 1.6 7.82 252 0.26
Jesse Winker SEA OF 124.8 3.1 7.96 78 0.74
Willy Adames MIL SS 125.6 3.3 7.58 67 0.60
Nathan Eovaldi BOS SP 125.8 3.6 8.39 52 0.85
Jake Cronenworth SDP 2B 128.8 3.3 7.41 64 0.74
Corey Knebel PHI RP 129.2 0.5 4.15 527 0.52
Myles Straw CLE OF 129.8 2.3 4.75 148 0.39
Sean Manaea OAK SP 130.4 2.6 8.79 110 0.68
Clayton Kershaw LAD SP 131.8 2.5 5.48 114 0.59
DJ LeMahieu NYY IF 131.9 2.3 4.90 141 0.38
Tyler Mahle CIN SP 132.2 2.6 9.83 112 0.59
Josh Bell WSN 1B 133.9 1.9 7.28 199 0.44
Luis Garcia HOU SP 134.1 2.4 10.16 125 0.46
Tyler Stephenson CIN C 135.1 2.9 5.21 93 0.78
Mark Melancon ARI RP 135.4 0.5 3.69 546 0.39
Luis Castillo CIN SP 137.2 2.9 8.87 88 0.71
Pablo López MIA SP 138.0 2.7 7.25 101 0.65
Chris Taylor LAD OF,Oth 140.6 2.1 6.65 169 0.37
Eduardo Rodriguez DET SP 141.5 3.5 11.61 53 0.83
Framber Valdez HOU SP 141.5 3.0 8.75 82 0.73
Lourdes Gurriel Jr. TOR OF 141.8 1.3 6.63 308 0.23
Joey Votto CIN 1B 142.7 1.9 8.17 197 0.41
Taylor Rogers MIN RP 145.6 1.2 4.65 324 0.91
Keibert Ruiz WSN C 146.0 2.2 4.28 157 0.65
Trent Grisham SDP OF 147.5 3.1 6.32 81 0.63
Justin Turner LAD 3B 147.6 3.0 7.19 86 0.43
Logan Gilbert SEA SP 147.7 2.2 9.83 153 0.53
Scott Barlow KCR RP 148.0 0.9 5.48 402 0.76
Jarred Kelenic SEA OF 148.7 1.4 4.54 288 0.25
Craig Kimbrel CHW RP 150.4 0.6 4.27 471 0.68
Akil Baddoo DET OF 152.1 1.6 6.32 246 0.29
Ian Anderson ATL SP 152.3 2.1 8.83 164 0.49
Mitch Garver TEX C 152.7 2.3 4.94 147 0.70
Sonny Gray MIN SP 153.4 2.7 8.04 103 0.63
Michael Kopech CHW SP 154.4 2.5 9.00 116 0.61
Ryan McMahon COL IF 154.7 2.0 6.71 181 0.32
Ke'Bryan Hayes PIT 3B 156.7 3.3 5.09 66 0.53
Austin Meadows TBR OF 158.7 1.9 6.87 192 0.25
Yoán Moncada CHW 3B 161.4 3.4 6.23 60 0.59
Chris Sale BOS SP 161.7 1.7 5.77 217 0.44
Gleyber Torres NYY IF 162.3 2.4 4.56 128 0.45
Ty France SEA 1B 162.4 2.4 6.85 134 0.57
Hunter Renfroe MIL OF 164.5 1.7 7.32 230 0.31
Camilo Doval SFG RP 166.1 0.5 4.92 523 0.48
Dylan Carlson STL OF 166.6 2.5 6.80 119 0.43
Marcell Ozuna ATL OF 166.7 2.2 3.65 158 0.47
Brendan Rodgers COL IF 166.9 1.6 6.07 249 0.23
Nelson Cruz WSN OF 167.4 1.4 7.18 290 0.16
Matt Chapman TOR 3B 167.9 3.7 5.59 48 0.63
Adolis García TEX OF 170.1 1.3 6.75 300 0.20
Alex Verdugo BOS OF 174.8 2.4 6.48 127 0.41
Luis Severino NYY SP 175.3 2.1 NA 166 0.51
Zac Gallen ARI SP 175.7 2.3 9.78 139 0.53
Amed Rosario CLE SS 175.7 1.9 5.94 190 0.32
Avisaíl García MIA OF 176.0 2.3 7.89 140 0.44
Ranger Suárez PHI SP 177.3 2.5 7.50 117 0.57
Gregory Soto DET RP 178.4 0.5 5.83 534 0.46
Josh Donaldson NYY 3B 179.7 3.3 5.88 65 0.56
Joey Gallo NYY OF 182.3 3.5 7.27 56 0.64
Tarik Skubal DET SP 182.7 2.0 10.50 177 0.47
Eddie Rosario ATL OF 183.1 0.9 5.87 411 0.14
Patrick Sandoval LAA SP 183.7 2.3 8.64 138 0.56
Adam Wainwright STL SP 187.0 2.1 5.32 161 0.49
Anthony Rizzo NYY 1B 187.6 2.2 6.88 154 0.49
Shane Baz TBR SP 188.4 1.8 NA 207 0.39
Marcus Stroman CHC SP 188.6 2.5 6.27 115 0.60
Alex Kirilloff MIN OF,Oth 189.1 1.6 5.12 247 0.24
Noah Syndergaard LAA SP 189.5 1.9 NA 186 0.41
Jack Flaherty STL SP 191.8 1.5 5.86 258 0.30
Blake Treinen LAD RP 192.6 0.8 5.11 422 0.71
Mike Clevinger SDP SP 192.7 1.8 NA 206 0.48
Jorge Soler MIA OF 193.2 1.5 5.94 267 0.25
Andrew Benintendi KCR OF 194.1 1.9 6.57 191 0.38
Robbie Grossman DET OF 194.1 1.7 6.24 234 0.29
David Bednar PIT RP 194.2 0.9 4.25 394 0.78
Tanner Houck BOS SP 197.4 2.4 8.83 126 0.56
Kolten Wong MIL 2B 198.0 2.5 7.00 120 0.63
Jo Adell LAA OF 202.1 0.6 5.59 503 0.04
Matt Barnes BOS RP 203.1 0.8 4.85 427 0.70
Joe Ryan MIN SP 203.5 2.2 7.96 152 0.52
Christian Vázquez BOS C 204.1 1.7 3.40 228 0.45
Eduardo Escobar NYM IF 204.2 1.9 7.06 194 0.30
Andrew Kittredge TBR RP 205.3 0.8 4.49 420 0.72
Alejandro Kirk TOR C 205.6 1.9 3.68 189 0.49
Jordan Montgomery NYY SP 206.1 2.7 8.30 100 0.67
Anthony DeSclafani SFG SP 211.1 1.7 6.01 215 0.37
Alex Wood SFG SP 211.2 1.6 6.80 235 0.34
José Urquidy HOU SP 211.3 1.9 6.67 184 0.44
Jean Segura PHI IF 211.4 2.4 6.84 130 0.40
Yuli Gurriel HOU 1B 211.5 1.4 6.51 294 0.19
Hyun Jin Ryu TOR SP 211.8 2.4 7.65 124 0.58
Jake McGee SFG RP 212.8 0.4 3.41 595 0.31
Eugenio Suárez SEA 3B 213.8 2.0 5.05 179 0.34
John Means BAL SP 214.2 2.7 5.86 99 0.62
Joe Barlow TEX RP 215.1 0.2 3.39 732 0.05
Adam Duvall ATL OF 218.1 1.7 5.81 223 0.27
Bobby Dalbec BOS 1B 218.8 1.7 5.94 226 0.35
Lou Trivino OAK RP 219.6 0.2 4.99 749 0.11
Luke Voit SDP 1B 220.0 1.3 4.70 309 0.17
AJ Pollock LAD OF 220.9 1.7 6.39 224 0.33
Jon Gray TEX SP 221.0 2.3 9.74 136 0.54
Trey Mancini BAL OF,Oth 221.5 1.4 5.79 292 0.21
Triston McKenzie CLE SP 222.0 1.5 7.76 262 0.31
Jonathan Schoop DET IF 222.2 1.9 6.53 198 0.37
Oneil Cruz 0 SS 222.4 1.7 NA 233 0.29
Luis Urías MIL IF 223.7 2.4 6.38 132 0.41
Elias Díaz COL C 226.0 1.3 4.05 304 0.35
Alex Cobb SFG SP 226.2 1.8 6.73 203 0.45
Enrique Hernández BOS OF,Oth 226.4 2.8 6.70 96 0.53
Adley Rutschman BAL C 227.1 2.1 NA 168 0.60
Brandon Crawford SFG SS 227.5 2.7 7.79 105 0.51
Ian Happ CHC OF 228.4 2.1 6.09 172 0.35
Travis d'Arnaud ATL C 230.6 1.4 2.78 291 0.39
Tommy Pham CIN OF 234.6 1.8 5.18 214 0.34
Jesús Sánchez MIA OF 236.8 2.3 6.86 144 0.36
Charlie Blackmon COL OF 237.3 0.6 6.06 499 0.06
Jonathan Villar CHC IF 238.2 1.2 4.95 328 0.13
Sean Murphy OAK C 241.5 2.5 3.57 123 0.72
Gary Sánchez MIN C 243.3 1.1 3.58 349 0.24
Brandon Belt SFG 1B 244.7 2.5 7.66 118 0.61
Harrison Bader STL OF 244.8 2.9 6.21 91 0.55
Jesús Luzardo MIA SP 245.1 1.0 10.22 365 0.14
Huascar Ynoa ATL SP 245.8 1.8 7.85 204 0.40
Jeimer Candelario DET 3B 247.8 3.2 6.26 72 0.49
Frank Schwindel CHC 1B 248.1 0.7 8.15 451 0.10
Trevor Bauer LAD SP 248.2 1.0 2.50 375 0.15
Nathaniel Lowe TEX 1B 248.9 1.8 6.39 211 0.39
Steven Matz STL SP 251.2 1.9 8.27 187 0.43
Bailey Ober MIN SP 252.4 2.1 8.10 162 0.51
Omar Narváez MIL C 254.6 1.7 3.10 232 0.47
Michael Brantley HOU OF 255.0 1.9 5.39 201 0.39
Garrett Whitlock BOS RP 255.2 1.4 6.44 275 0.96
Will Smith ATL RP 257.4 0.5 3.99 560 0.44
Mike Zunino TBR C 257.7 2.0 5.05 180 0.58
Austin Hays BAL OF 258.2 1.7 6.73 225 0.28
Casey Mize DET SP 259.9 1.7 7.45 216 0.35
Michael Conforto 0 OF 260.6 2.2 4.01 159 0.52
Joey Bart SFG C 262.2 0.9 NA 416 0.21
Nicky Lopez KCR IF 265.2 1.8 5.58 213 0.26
Aaron Civale CLE SP 265.4 1.5 8.43 256 0.30
Germán Márquez COL SP 265.4 2.8 9.48 95 0.69
Dylan Floro MIA RP 266.4 0.4 4.20 593 0.33
Aaron Ashby MIL SP 267.3 1.5 6.96 255 0.28
Gavin Lux LAD IF 267.7 1.7 4.25 229 0.19
Ramón Laureano OAK OF 268.4 2.6 6.05 113 0.48
Drew Rasmussen TBR SP 273.0 1.6 7.33 238 0.34
Miguel Sanó MIN IF 274.7 0.8 6.35 436 0.08
Paul Sewald SEA RP 275.9 0.5 5.51 551 0.42
Carlos Carrasco NYM SP 276.0 1.2 6.91 314 0.23
Cal Quantrill CLE SP 278.4 1.6 7.00 237 0.36
Devin Williams MIL RP 279.2 1.0 5.49 362 0.88
Carson Kelly ARI C 279.4 1.9 3.74 193 0.53
Randal Grichuk COL OF 279.5 0.7 5.09 456 0.05
Andrés Giménez CLE IF 284.1 1.8 3.56 208 0.24
Tony Gonsolin LAD SP 287.2 1.0 7.11 374 0.12
Andrew Vaughn CHW OF 290.4 0.9 3.93 408 0.21
Isiah Kiner-Falefa NYY IF 294.4 1.4 4.94 286 0.21
Mark Canha NYM OF 296.3 1.7 6.65 231 0.35
Yusei Kikuchi TOR SP 297.7 1.6 9.19 243 0.36
Mike Yastrzemski SFG OF 300.1 2.3 6.39 146 0.38
Josiah Gray WSN SP 301.0 1.6 11.05 239 0.33
Lane Thomas WSN OF 301.4 1.1 4.51 355 0.16
Wil Myers SDP OF 303.1 1.1 5.77 359 0.18
Jameson Taillon NYY SP 304.1 2.1 6.08 165 0.46
Tylor Megill NYM SP 304.6 1.4 7.77 281 0.19
Max Stassi LAA C 304.9 1.9 4.00 200 0.51
Kyle Hendricks CHC SP 305.6 1.7 8.19 218 0.38
Jesús Aguilar MIA 1B 306.2 1.1 5.25 350 0.14
Max Kepler MIN OF 309.0 2.5 6.33 121 0.45
Zack Greinke KCR SP 309.8 1.6 6.48 244 0.33
Lucas Sims CIN RP 312.0 0.6 5.14 484 0.63
Josh Rojas ARI OF,Oth 312.0 1.3 4.65 307 0.27
Luis Patiño TBR SP 312.4 1.5 8.71 260 0.27
Alex Colomé COL RP 315.5 0.1 5.29 798 -0.05
Andrew McCutchen MIL OF 315.5 0.9 5.96 407 0.12
Rowan Wick CHC RP 319.2 0.4 4.76 609 0.32
Anthony Bender MIA RP 321.0 0.6 4.55 468 0.62
Eric Haase DET C 322.7 0.5 3.85 569 0.12
Nestor Cortes NYY SP 322.9 1.4 5.50 280 0.25
Cristian Javier HOU SP 325.3 1.0 7.18 361 0.18
Jeff McNeil NYM OF,Oth 327.5 1.9 4.33 196 0.38
Corey Kluber TBR SP 332.3 1.1 6.19 338 0.20
Eric Lauer MIL SP 333.8 1.4 6.92 274 0.26
Yadier Molina STL C 338.8 1.2 3.31 336 0.27
Raimel Tapia TOR OF 340.0 0.3 4.36 696 0.02
Anthony Santander BAL OF 340.2 1.3 5.08 302 0.21
Cavan Biggio TOR 2B 341.7 1.3 3.20 303 0.20
Stephen Strasburg WSN SP 343.5 1.1 4.60 344 0.21
Elieser Hernandez MIA SP 344.3 0.9 6.74 395 0.13
Marco Gonzales SEA SP 347.5 1.7 6.43 219 0.38
Gio Urshela MIN 3B 347.8 1.4 3.94 285 0.14
Reid Detmers LAA SP 350.2 1.2 8.20 322 0.17
Riley Greene DET OF 350.5 1.3 NA 310 0.34
Hunter Greene CIN SP 355.2 1.2 NA 317 0.16
Andrew Heaney LAD SP 358.3 1.2 8.33 312 0.25
Nick Senzel CIN OF 359.6 1.1 3.33 357 0.15
Nick Pivetta BOS SP 359.8 1.7 10.10 221 0.35
Connor Joe COL OF,Oth 364.2 0.7 4.26 450 0.07
Lance McCullers Jr. HOU SP 366.5 1.4 3.91 277 0.29
Brandon Nimmo NYM OF 367.0 3.0 5.72 85 0.58
Zach Plesac CLE SP 367.5 1.4 8.32 282 0.27
Ha-Seong Kim SDP IF 368.8 1.5 3.10 266 0.20
Garrett Hampson COL OF,Oth 369.3 0.3 3.12 688 0.01
Drew Steckenrider SEA RP 370.1 0.3 3.75 646 0.18
Patrick Wisdom CHC 3B 370.9 1.2 5.82 333 0.13
Art Warren CIN RP 372.9 0.8 2.99 421 0.73
Dinelson Lamet SDP RP 374.1 0.7 3.95 445 0.77
Tanner Rainey WSN RP 376.3 0.2 5.74 762 0.08
Luis Arraez MIN IF 377.8 1.5 4.46 269 0.22
Austin Nola SDP C,Oth 379.4 1.6 2.78 248 0.21
Jorge Mateo BAL OF,Oth 384.9 0.5 3.34 572 0.04
Rowdy Tellez MIL 1B 386.7 0.8 3.63 439 0.12
Kyle Finnegan WSN RP 389.2 0.2 5.60 745 0.05
Nick Madrigal CHC 2B 390.1 1.8 4.57 212 0.41
Tyler Naquin CIN OF 391.3 0.7 6.19 463 0.09
Ken Giles SEA RP 391.5 0.3 NA 661 0.28
James McCann NYM C 391.9 1.4 2.46 287 0.37
Keston Hiura MIL 2B 393.2 0.2 1.68 782 0.01
Cole Sulser BAL RP 394.7 0.5 4.52 526 0.67
Danny Jansen TOR C 395.6 2.1 3.89 170 0.55
Josh Harrison CHW 2B 395.8 1.3 4.66 306 0.15
Jonathan Loáisiga NYY RP 400.9 1.0 4.92 366 0.85
Matt Brash SEA SP 401.0 1.1 NA 342 0.12
Zach Eflin PHI SP 407.5 1.9 6.41 188 0.45
Kyle Gibson PHI SP 407.9 1.8 8.01 205 0.42
Alec Bohm PHI 3B 407.9 1.3 3.66 301 0.19
Manuel Margot TBR OF 409.3 1.1 4.40 356 0.16
Brandon Marsh LAA OF 410.4 1.2 3.56 325 0.19
Mike Moustakas CIN IF 410.7 0.9 2.91 418 0.10
Abraham Toro SEA IF 414.8 1.1 2.89 345 0.16
Rafael Ortega CHC OF 415.2 0.8 5.08 437 0.11
Mitch Keller PIT SP 418.1 1.4 9.08 279 0.24
Chad Green NYY RP 419.6 1.0 5.59 360 0.81
Adam Frazier SEA OF,Oth 420.0 2.1 5.75 167 0.41
Diego Castillo SEA RP 423.1 0.6 4.73 472 0.60
Michael Fulmer DET RP 427.4 0.6 4.77 486 0.61
Patrick Corbin WSN SP 430.0 1.7 8.38 222 0.31
Chris Flexen SEA SP 432.1 1.9 7.49 182 0.41
Taijuan Walker NYM SP 432.9 0.6 5.65 491 0.07
Josh Lowe TBR OF 437.3 0.6 NA 505 0.00
Nick Lodolo CIN SP 440.1 1.3 NA 299 0.16
César Hernández WSN 2B 440.6 1.7 5.01 227 0.37
Wilmer Flores SFG 2B 444.6 1.4 4.70 293 0.16
LaMonte Wade Jr. SFG OF 449.6 1.0 5.75 385 0.13
Jorge Alfaro SDP C 451.0 0.4 2.08 626 0.03
Joey Wendle MIA IF 452.6 1.4 5.50 289 0.17
David Fletcher LAA 2B 455.1 1.4 4.23 283 0.21
Carlos Hernández KCR SP 456.7 1.2 8.19 315 0.20
Tony Kemp OAK OF,Oth 461.1 1.6 5.50 253 0.28
Dominic Smith NYM OF,Oth 462.2 0.6 3.00 501 0.04
Ian Kennedy ARI RP 467.5 -0.1 3.60 1089 -0.07
Hunter Dozier KCR OF,Oth 469.7 0.6 3.99 502 0.05
Darin Ruf SFG OF,Oth 471.1 1.0 4.70 380 0.13
Madison Bumgarner ARI SP 474.9 1.1 5.67 341 0.18
Yoshi Tsutsugo PIT OF,Oth 476.4 0.4 3.47 636 0.02
Luis Torrens SEA C 477.0 0.6 2.81 510 0.08
Adrian Houser MIL SP 479.0 1.4 5.61 273 0.26
Kyle Lewis SEA OF 481.5 1.1 3.06 354 0.21
Jacob Stallings MIA C 482.9 2.2 3.05 156 0.67
Chris Paddack SDP SP 484.4 0.9 5.49 392 0.22
Kyle Higashioka NYY C 484.7 1.0 2.05 384 0.23
Merrill Kelly ARI SP 484.8 1.7 7.10 220 0.37
Vidal Bruján 0 OF,Oth 485.0 0.8 NA 440 0.10
Pierce Johnson SDP RP 485.2 0.5 3.91 553 0.56
David Robertson CHC RP 487.1 0.2 NA 723 0.03
Chris Stratton PIT RP 488.5 0.3 5.12 643 0.20
Paul DeJong STL SS 489.1 2.1 4.44 175 0.35
MJ Melendez KCR C 491.5 0.4 NA 631 0.06
Jordan Hicks STL RP 493.5 0.5 NA 542 0.30
Dakota Hudson STL SP 494.5 1.1 NA 339 0.20
Lorenzo Cain MIL OF 495.7 1.5 4.95 268 0.26
Tyler Wade LAA IF 496.3 0.4 2.54 635 0.03
Miles Mikolas STL SP 496.6 1.6 5.14 242 0.32
Yan Gomes CHC C 497.6 1.5 2.99 272 0.42
J.P. Crawford SEA SS 501.4 2.4 5.21 129 0.44
Héctor Neris HOU RP 501.9 0.4 5.78 594 0.33
Michael Pineda DET SP 503.7 1.4 4.60 278 0.25
Willie Calhoun TEX OF 503.9 0.2 3.06 796 0.00
Brady Singer KCR SP 504.3 2.2 11.21 151 0.50
Yandy Díaz TBR IF 505.7 1.6 4.51 254 0.26
Victor Robles WSN OF 506.8 1.0 2.51 389 0.16
David Peralta ARI OF 507.8 1.1 4.44 347 0.18
Pavin Smith ARI OF,Oth 508.7 0.6 4.55 514 0.06
Nick Martínez SDP SP 510.4 0.6 NA 489 0.10
Eric Hosmer SDP 1B 511.0 0.4 4.67 620 0.02
Tucker Barnhart DET C 511.5 1.2 2.40 335 0.33
Joc Pederson SFG OF 515.8 0.9 4.47 415 0.11
Ryan Jeffers MIN C 516.0 1.6 2.97 251 0.43
Kevin Smith OAK 3B 516.2 1.1 NA 351 0.12
Miguel Rojas MIA SS 516.9 2.3 5.31 145 0.38
Jorge Alcala MIN RP 517.0 0.6 4.57 479 0.55
Dane Dunning TEX SP 517.8 1.9 8.49 183 0.42
Rich Hill BOS SP 518.3 0.8 5.16 428 0.10
Nate Pearson TOR SP 519.1 0.6 NA 488 0.08
Tyler Wells BAL RP 519.3 1.5 6.93 263 0.93
Alex Reyes STL RP 521.1 0.2 2.87 709 0.06
Dylan Bundy MIN SP 521.2 1.3 7.58 296 0.24
Christian Walker ARI 1B 521.5 0.7 3.78 449 0.08
James Kaprielian OAK SP 521.6 0.9 5.79 399 0.17
Clint Frazier CHC OF 522.4 0.4 2.10 618 0.01
Seth Brown OAK OF 523.6 0.6 5.89 516 0.08
Evan Longoria SFG 3B 523.8 1.3 4.13 305 0.20
Jake Fraley CIN OF 526.0 0.9 3.55 414 0.10
Garrett Cooper MIA OF,Oth 527.0 1.2 5.16 326 0.16
Sam Hilliard COL OF 527.5 0.4 4.62 632 0.02
Brian Anderson MIA OF,Oth 527.7 1.8 4.06 209 0.28
Aaron Hicks NYY OF 529.6 1.6 2.44 245 0.27
Brad Hand PHI RP 530.4 0.1 4.56 804 0.02
Grayson Rodriguez BAL SP 530.8 0.9 NA 397 0.14
Francisco Mejía TBR C 530.9 1.1 2.64 348 0.31
Nick Solak TEX 2B 531.3 0.6 3.28 513 0.08
Jake Odorizzi HOU SP 532.7 0.9 4.71 398 0.11
Josh Staumont KCR RP 535.3 0.4 4.52 600 0.38
Chas McCormick HOU OF 535.7 1.1 4.05 346 0.20
Mychal Givens CHC RP 536.1 0.1 5.21 865 -0.09
Robinson Canó NYM 2B 536.2 0.3 NA 698 0.03
Bobby Bradley CLE 1B 537.0 0.5 4.33 562 0.03
Didi Gregorius PHI SS 537.5 0.9 3.20 410 0.06
Daniel Hudson LAD RP 537.8 0.5 4.59 528 0.49
Dylan Moore SEA OF,Oth 539.0 0.5 1.67 568 0.05
Edward Cabrera MIA SP 539.7 0.6 5.30 474 0.06
Brad Miller TEX IF 540.6 1.5 4.51 265 0.17
Rougned Odor BAL 2B 540.9 0.7 3.46 458 0.09
Kris Bubic KCR SP 541.1 1.2 8.70 320 0.19
Carlos Santana KCR 1B 541.1 0.7 3.75 448 0.09
JT Brubaker PIT SP 541.4 1.4 8.26 276 0.27
Jarren Duran 0 OF 541.9 0.4 1.94 623 0.03
José Iglesias COL SS 542.3 1.0 4.37 383 0.14
J.D. Davis NYM OF,Oth 542.7 0.9 3.04 413 0.09
Kyle Farmer CIN SS 542.9 1.1 4.06 353 0.10
Emilio Pagán SDP RP 544.2 0.1 4.63 825 -0.04
James Karinchak CLE RP 544.5 0.7 5.34 446 0.69
Gavin Sheets CHW OF 544.5 0.5 4.03 570 0.09
Ryan Yarbrough TBR SP 544.6 1.5 7.35 261 0.28
Edmundo Sosa STL IF 544.9 1.4 3.45 284 0.16
José Suarez LAA SP 545.0 1.3 7.05 298 0.23
Roansy Contreras NA SP 545.2 0.9 NA 401 0.12
Wade Miley CHC SP 545.3 1.0 5.93 376 0.21
Nico Hoerner CHC IF 545.4 1.5 3.06 270 0.15
Bradley Zimmer CLE OF 545.6 0.6 2.77 497 0.07
Tyler Rogers SFG RP 545.7 0.5 4.60 559 0.47
Michael A. Taylor KCR OF 546.5 1.2 4.12 332 0.21
Kendall Graveman CHW RP 548.0 0.5 4.33 545 0.39
Ramón Urías BAL IF 548.1 1.5 4.34 271 0.18
Tyrone Taylor MIL OF 548.7 1.0 3.60 388 0.15
Adbert Alzolay CHC SP 548.8 0.6 3.27 466 0.08
Kole Calhoun TEX OF 549.1 1.1 3.31 352 0.17
Reiver Sanmartin CIN SP 549.6 1.2 NA 323 0.18
Collin McHugh ATL RP 551.2 0.6 3.67 470 0.60
Pedro Severino MIL C 552.0 0.6 1.24 515 0.20
Luke Weaver ARI SP 552.1 0.8 4.41 425 0.19
Cole Irvin OAK SP 552.5 1.5 9.01 257 0.29
Matt Manning DET SP 553.3 1.2 8.31 321 0.21
Seth Beer ARI 1B 554.4 0.4 NA 634 0.01
Tom Murphy SEA C 555.3 1.2 1.80 334 0.30
Jose Barrero CIN SS 557.0 0.9 1.21 417 0.11
Andy Ibáñez TEX 2B 557.1 1.5 3.76 264 0.28
Miguel Cabrera DET DH 557.1 -0.4 3.48 1154 0.00
Luis Gil NYY SP 557.2 1.0 5.39 368 0.11
Austin Gomber COL SP 558.5 1.2 7.37 313 0.22
Michael Wacha BOS SP 558.5 1.0 6.47 369 0.13
Michael Lorenzen LAA SP 560.7 0.5 7.84 548 0.06
Kyle Isbel KCR OF 561.5 0.4 2.86 628 0.03
Jurickson Profar SDP OF,Oth 561.9 0.3 3.17 690 0.02
Tyler Anderson LAD SP 562.0 0.5 4.07 558 0.09
Zach Thompson PIT SP 562.9 1.0 5.25 377 0.15
A.J. Puk OAK RP 563.4 0.9 NA 390 0.79
Domingo Germán NYY SP 563.7 1.1 4.70 340 0.17
Leury García CHW OF 564.0 0.7 3.17 454 0.07
Sixto Sánchez NA SP 564.1 1.0 NA 372 0.16
Mike Minor CIN SP 565.6 1.6 6.63 241 0.39
Roberto Pérez PIT C 565.8 1.3 2.39 311 0.34
Greg Holland TEX RP 566.7 -0.1 3.09 1087 -0.11
Pete Fairbanks TBR RP 566.9 0.3 3.02 668 0.43
Spencer Howard TEX SP 567.7 1.0 8.26 373 0.15
Daniel Bard COL RP 567.9 0.4 6.22 592 0.25
Mike Soroka ATL SP 568.2 1.1 NA 343 0.15
Jonah Heim TEX C 568.3 1.0 1.63 382 0.19
Cristian Pache OAK OF 571.0 0.8 1.13 433 0.10
Tommy La Stella SFG 2B 571.1 1.1 3.21 358 0.14
Reynaldo López CHW SP 571.5 0.4 3.53 607 0.03
Drew Smyly CHC SP 571.6 0.6 6.09 473 0.05
Max Meyer MIA SP 571.6 0.4 NA 604 0.03
Carlos Estévez COL RP 572.6 0.2 5.34 717 0.07
Justin Upton LAA OF 573.6 0.1 2.30 931 0.00
Luis Cessa CIN RP 573.8 0.3 3.10 663 0.17
Bryan De La Cruz 0 OF 574.0 0.6 2.14 498 0.07
Tucker Davidson ATL SP 574.4 0.5 2.82 557 0.04
Brusdar Graterol LAD RP 575.0 0.7 4.38 441 0.66
Matt Vierling PHI OF,Oth 575.6 0.6 3.12 512 0.05
Dallas Keuchel CHW SP 575.7 1.2 7.33 316 0.22
Hunter Strickland CIN RP 575.9 -0.1 2.74 1088 -0.09
Edward Olivares KCR OF 576.0 0.3 1.67 686 0.00
Elvis Andrus OAK SS 576.0 0.9 3.07 412 0.06
Colin Moran CIN IF 576.1 -0.1 3.22 1118 -0.01
Martín Maldonado HOU C 576.1 1.2 1.98 331 0.26
Trevor May NYM RP 576.3 0.4 5.38 612 0.38
Edwin Ríos LAD IF 576.3 0.2 0.33 774 -0.01
Kyle Freeland COL SP 576.5 1.5 7.61 259 0.30
Daniel Lynch KCR SP 576.6 0.7 6.23 444 0.10
Santiago Espinal TOR 3B 578.2 0.7 3.08 459 0.07
Kyle Wright ATL SP 578.7 0.2 NA 748 0.02
Spencer Patton TEX RP 579.6 0.1 3.31 884 -0.09
Alek Thomas ARI OF 579.8 0.9 NA 406 0.13
Andrés Muñoz SEA RP 580.0 0.4 NA 581 0.23
Corey Dickerson STL OF 580.7 0.1 3.02 910 -0.01
Cal Raleigh SEA C 581.3 0.8 0.66 431 0.15
Cade Cavalli WSN SP 581.5 0.5 NA 522 0.06
Chad Pinder OAK OF 581.6 0.5 3.83 564 0.03
Anthony Alford PIT OF 581.9 -0.1 2.95 1116 -0.02
Carter Kieboom WSN 3B 582.2 0.8 1.86 432 0.09
George Kirby SEA SP 582.4 0.6 NA 476 0.08
Willi Castro DET IF 582.4 0.3 0.90 704 0.01
Brad Keller KCR SP 582.7 1.6 9.68 236 0.32
Jordan Lyles BAL SP 582.9 0.6 7.05 478 0.08
Niko Goodrum HOU SS 582.9 0.7 2.68 455 0.05
Jace Peterson MIL OF,Oth 583.0 0.2 2.19 777 0.01
Jose Siri HOU OF 583.0 0.4 NA 627 0.01
Tyler Duffey MIN RP 583.4 0.4 4.50 614 0.34
Dillon Tate BAL RP 583.6 0.5 3.97 531 0.35
Trevor Rosenthal NA RP 583.6 0.3 NA 677 0.14
Manny Piña ATL C 583.6 1.2 2.27 330 0.28
Aledmys Díaz HOU IF 583.7 0.9 2.59 405 0.07
José Quintana PIT SP 583.8 1.0 10.79 367 0.11
Mitch White LAD RP 583.9 0.3 2.39 666 0.42
Josh Naylor CLE OF 584.1 0.6 3.18 506 0.03
Johnny Cueto NA SP 584.5 0.1 4.37 850 0.02
Maikel Franco WSN 3B 584.7 0.1 1.61 932 0.00
Jed Lowrie OAK IF 584.8 0.4 3.42 624 0.04
Richard Rodríguez NA RP 584.9 0.0 1.58 1010 -0.11
Yimi García TOR RP 585.0 0.1 4.57 898 -0.01
Ji-Man Choi TBR 1B 585.0 0.7 4.23 452 0.07
Austin Slater SFG OF 585.2 1.0 3.32 379 0.14
Jake Diekman BOS RP 585.5 0.5 5.27 539 0.43
Taylor Hearn TEX SP 585.6 0.7 7.42 447 0.09
Vladimir Gutierrez CIN SP 585.6 0.3 7.51 680 0.03
Trevor Larnach MIN OF 585.7 0.2 1.78 794 0.00
Chris Archer MIN SP 586.4 0.7 NA 443 0.07
Michael Chavis PIT IF 586.7 0.0 2.71 1063 -0.01
Ben Gamel PIT OF 586.8 0.8 3.75 430 0.12
Matt Duffy LAA 3B 587.2 0.6 2.57 511 0.06
Lars Nootbaar STL OF 587.3 0.2 2.96 784 -0.01
James Paxton BOS SP 587.5 0.6 NA 477 0.07
Antonio Senzatela COL SP 587.6 2.0 7.29 176 0.48
Austin Hedges CLE C 587.6 0.5 1.95 561 0.08
Jon Berti MIA OF,Oth 587.7 0.6 1.48 504 0.03
Matt Beaty SDP OF,Oth 587.7 0.2 2.75 787 0.00
Cole Tucker PIT OF,Oth 587.8 0.3 2.06 685 0.03
Kevin Kiermaier TBR OF 587.9 1.2 3.91 329 0.22
Brent Suter MIL RP 588.2 0.4 5.21 584 0.29
Kevin Plawecki BOS C 588.2 0.7 1.63 453 0.13
Tyler Matzek ATL RP 588.3 0.6 4.08 493 0.62
Luis García WSN 2B 588.6 0.6 2.66 509 0.09
David Price LAD RP 588.7 0.5 4.57 529 0.45
Daniel Vogelbach PIT 1B 588.7 0.6 2.70 500 0.04
Amir Garrett KCR RP 588.8 0.2 5.44 711 0.05
Victor Caratini SDP C 589.1 0.7 1.09 464 0.11
Jackie Bradley Jr. BOS OF 589.5 0.2 1.78 778 0.00
Albert Pujols STL 1B 589.8 -0.4 1.86 1153 0.00
Tyler Alexander DET SP 589.9 0.9 5.78 403 0.11
Aristides Aquino CIN OF 589.9 0.4 2.86 617 0.01
Ryan Tepera LAA RP 590.3 0.5 4.12 555 0.34
Julian Merryweather TOR RP 590.5 0.2 NA 740 0.09
Caleb Smith ARI RP 591.1 0.1 4.64 807 -0.11
Jorge López BAL RP 591.1 0.3 4.20 656 0.21
Daulton Jefferies OAK SP 591.2 0.9 NA 393 0.10
Matthew Liberatore STL SP 591.5 0.5 NA 547 0.07
Riley Adams WSN C 591.6 0.8 1.62 438 0.15
Alcides Escobar WSN SS 591.7 0.2 4.38 770 0.01
Odúbel Herrera PHI OF 591.7 0.9 3.87 419 0.14
Ross Stripling TOR SP 592.0 0.4 3.91 608 0.04
Dom Nuñez COL C 592.0 0.5 2.02 566 0.07
Harold Ramirez TBR OF 592.0 0.0 1.55 1043 -0.01
Matthew Boyd SFG SP 592.2 0.9 3.63 400 0.14
Steve Cishek WSN RP 592.2 0.0 4.01 1019 -0.11
Leody Taveras 0 OF 592.2 0.6 1.00 508 0.06
Zach Davies ARI SP 592.5 0.2 5.64 767 0.01
William Contreras ATL C 592.5 0.2 0.50 795 0.02
Curt Casali SFG C 592.6 0.9 1.50 409 0.18
Nick Gordon MIN OF 592.7 0.3 1.44 694 0.01
Cody Morris CLE SP 592.8 0.5 NA 525 0.08
Erick Fedde WSN SP 592.9 0.6 6.77 475 0.06
Génesis Cabrera STL RP 592.9 0.5 4.90 533 0.57
Mickey Moniak PHI OF 593.3 0.0 NA 1065 -0.02
Aaron Bummer CHW RP 593.4 1.1 5.33 337 0.89
Tyler Beede SFG RP 593.4 -0.1 NA 1110 -0.11
Spencer Strider ATL SP 593.6 0.3 NA 675 0.02
Victor Reyes DET OF 593.6 0.5 2.51 577 0.01
Andrelton Simmons CHC SS 593.7 1.0 1.55 378 0.08
Austin Barnes LAD C 593.8 0.8 1.54 429 0.16
Brad Boxberger MIL RP 594.0 0.2 5.08 714 0.05
Hansel Robles NA RP 594.3 0.0 4.76 974 -0.10
Robinson Chirinos BAL C 594.5 0.7 2.18 457 0.14
Kevin Newman PIT SS 594.8 0.6 2.42 507 0.04
Taylor Walls TBR SS 594.8 1.0 1.70 387 0.12
Alec Mills CHC SP 595.1 0.6 6.62 467 0.05
Andrew Chafin DET RP 595.1 0.5 3.29 519 0.57
Eric Thames OAK OF,Oth 595.1 0.0 NA 1040 -0.01
Mauricio Dubón SFG OF,Oth 595.2 0.4 1.30 629 0.03
Oscar Mercado CLE OF 595.2 0.5 2.32 576 0.04
Geraldo Perdomo ARI SS 595.5 0.4 NA 621 0.01
Domingo Acevedo OAK RP 595.6 0.2 NA 725 0.16
Drew Pomeranz SDP RP 595.6 0.1 1.93 821 -0.05
Kyle Muller ATL SP 595.6 0.2 2.45 747 0.02
Lewin Díaz 0 1B 595.6 0.3 1.79 691 0.01
Yu Chang CLE IF 595.6 0.6 2.97 517 0.02
David Peterson NYM SP 595.7 0.8 5.73 423 0.09
José Alvarado PHI RP 595.7 0.4 5.77 598 0.37
Thairo Estrada SFG IF 595.8 0.7 2.68 462 0.05
Glenn Otto TEX SP 595.9 0.9 5.52 396 0.12
Stephen Piscotty OAK OF 595.9 -0.2 2.39 1145 -0.01
Cole Winn TEX SP 596.0 0.1 NA 812 0.01
Jackson Kowar KCR SP 596.0 0.5 4.85 537 0.05
Seranthony Domínguez PHI RP 596.0 0.2 NA 760 0.09
Nick Ahmed ARI SS 596.2 1.0 2.97 386 0.09
Kevin Pillar LAD OF 596.3 0.5 2.67 573 0.03
Yadiel Hernandez WSN OF 596.3 0.1 3.72 949 -0.01
Lucas Gilbreath COL RP 596.4 0.0 3.81 997 -0.11
Martín Pérez TEX SP 596.4 0.8 6.90 426 0.10
Jake Meyers HOU OF 596.5 1.2 4.79 327 0.20
Seth Lugo NYM RP 596.6 0.4 4.90 610 0.37
Brett Phillips TBR OF 596.6 0.3 2.28 682 0.00
Khalil Lee 0 OF 596.7 0.0 NA 1054 -0.01
J.P. Feyereisen TBR RP 596.8 0.0 4.54 978 -0.09
Mike Mayers LAA RP 596.8 0.5 5.14 549 0.50
A.J. Alexy TEX SP 596.9 0.6 4.61 465 0.09
Justin Dunn CIN SP 596.9 0.3 3.20 660 0.04
Danny Duffy LAD RP 597.0 0.2 1.19 721 0.12
Anthony Bass MIA RP 597.1 0.1 3.98 802 -0.08
Tony Santillan CIN RP 597.3 0.4 4.30 611 0.35
Greg Allen PIT OF 597.4 0.2 NA 776 0.01
Donovan Solano CIN 2B 597.5 0.5 2.51 567 0.04
Justin Steele CHC SP 597.6 0.5 5.74 544 0.04
Jose Trevino TEX C 597.6 0.2 0.99 779 0.04
Bruce Zimmermann BAL SP 597.7 1.3 8.27 295 0.23
Aaron Loup LAA RP 597.8 0.4 3.05 578 0.21
Andrew Stevenson WSN OF 597.8 -0.2 0.71 1143 -0.01
Jason Heyward CHC OF 597.8 1.0 2.65 381 0.11
Jeurys Familia PHI RP 598.0 0.3 4.85 654 0.16
Tanner Scott BAL RP 598.0 0.5 5.35 556 0.65
Jake Burger CHW 3B 598.1 0.1 NA 926 0.01
Adam Ottavino NYM RP 598.2 0.2 6.26 708 0.03
Dan Straily ARI SP 598.2 0.1 NA 813 0.00
Robert Stephenson COL RP 598.2 0.0 4.17 1011 -0.11
Christian Arroyo BOS 2B 598.2 0.3 1.89 684 0.03
Kurt Suzuki LAA C 598.2 0.2 0.86 783 0.02
J.A. Happ NA SP 598.3 0.5 5.24 536 0.05
Ryne Stanek HOU RP 598.3 0.2 5.21 754 0.02
Miguel Andújar NYY OF 598.3 0.0 0.75 1066 -0.02
Phil Gosselin 0 OF 598.4 0.0 0.46 1068 -0.01
Brett Gardner 0 OF 598.6 0.5 1.96 563 0.04
Kelvin Gutierrez BAL 3B 598.6 0.2 1.51 781 0.02
Brent Honeywell Jr. OAK RP 598.7 0.0 NA 960 -0.11
Julian Fernández NA RP 598.7 0.0 NA 989 -0.11
Aníbal Sánchez WSN SP 598.8 0.3 NA 638 0.00
Garrett Richards TEX RP 598.9 0.3 4.31 650 0.28
Andrew Knizner STL C 598.9 0.6 0.71 494 0.09
Adam Engel CHW OF 599.0 0.4 2.79 616 0.06
Michael Hermosillo CHC OF 599.0 0.3 NA 693 0.00
Travis Swaggerty 0 OF 599.0 0.3 NA 703 0.03
Carlos Martínez SFG SP 599.2 0.0 2.51 962 0.00
Alex Dickerson ATL OF 599.2 0.2 2.61 771 0.00
Billy McKinney 0 OF 599.2 0.1 0.68 905 -0.02
Trevor Gott MIL RP 599.3 -0.1 NA 1109 -0.11
Vince Velasquez CHW SP 599.3 0.3 4.92 679 0.01
Sammy Long SFG SP 599.4 0.2 3.22 757 0.02
Matt Carpenter 0 3B 599.4 0.0 0.60 1061 0.00
Cole Hamels NA SP 599.5 0.1 NA 811 0.00
Jake Cousins MIL RP 599.5 0.5 3.91 538 0.46
Jason Castro HOU C 599.5 0.8 1.65 434 0.17
Taylor Ward LAA OF 599.5 0.7 3.17 461 0.02
Miguel Yajure PIT SP 599.6 0.1 NA 864 0.00
Wil Crowe PIT SP 599.6 0.1 6.29 896 0.00
Nick Fortes 0 C 599.6 0.2 NA 789 0.02
Renato Núñez 0 1B 599.6 0.1 0.69 939 -0.01
Bryse Wilson PIT SP 599.7 0.5 6.63 521 0.05
Dylan Coleman KCR RP 599.7 0.5 NA 532 0.54
Joan Adon WSN SP 599.7 0.2 NA 731 0.00
Colton Welker COL IF 599.7 0.1 NA 909 0.00
Mike Brosseau MIL IF 599.7 0.5 1.83 575 0.05
Steven Duggar SFG OF 599.7 0.7 3.55 460 0.08
Zach McKinstry 0 OF,Oth 599.7 -0.1 0.76 1131 -0.01
Paolo Espino WSN SP 599.8 0.1 3.72 872 0.01
Yohan Ramirez SEA RP 599.8 0.1 1.94 899 -0.09
Aramis Garcia CIN C 599.8 0.1 0.66 903 0.00
Sheldon Neuse OAK 2B 599.8 0.3 1.49 700 0.01
Cody Stashak MIN RP 599.9 0.4 NA 588 0.40
Deivi García NYY SP 599.9 0.1 NA 818 0.00
Lewis Thorpe NA SP 599.9 0.1 NA 859 0.03
Tyler Gilbert ARI SP 599.9 0.3 2.28 678 0.03
Josh VanMeter ARI OF,Oth 599.9 0.2 0.66 780 0.00
Matt Thaiss LAA IF 599.9 0.1 NA 934 -0.01
Alex Vesia LAD RP 600.0 0.4 4.12 580 0.20
Griffin Canning LAA SP 600.0 0.5 3.50 535 0.06
José Leclerc TEX RP 600.0 0.1 NA 853 0.00
JT Chargois TBR RP 600.0 0.3 3.92 659 0.19
Matt Wisler TBR RP 600.0 0.4 4.90 603 0.25
Sean Doolittle WSN RP 600.0 0.0 3.91 1018 -0.08
Brent Rooker MIN OF 600.0 0.2 1.81 773 0.00
Hanser Alberto LAD IF 600.0 0.3 1.35 689 0.02
Ryan O'Hearn KCR 1B 600.0 0.0 0.94 1070 -0.01
A.J. Minter ATL RP 600.1 0.5 4.29 518 0.51
Brad Wieck CHC RP 600.1 0.2 NA 715 -0.03
Heath Hembree PIT RP 600.1 0.2 4.95 728 0.07
Luke Jackson ATL RP 600.1 0.1 0.99 860 0.26
Trevor Richards TOR RP 600.1 0.4 4.11 613 0.32
Will Harris WSN RP 600.1 0.3 NA 681 0.18
Austin Allen OAK C 600.1 0.6 NA 495 0.10
Reese McGuire TOR C 600.1 0.3 0.72 697 0.02
Chad Kuhl COL SP 600.2 0.2 6.07 718 0.01
Craig Stammen SDP RP 600.2 0.4 3.44 590 0.29
Jake Brentz KCR RP 600.2 0.3 4.50 652 0.15
Matt Strahm BOS RP 600.2 0.2 NA 751 0.05
Sean Newcomb ATL RP 600.2 0.1 3.61 881 -0.06
David Dahl MIL OF 600.2 0.0 0.14 1037 -0.02
Garrett Stubbs PHI C,Oth 600.2 0.2 NA 775 0.00
Stephen Vogt OAK C 600.2 -0.1 1.33 1128 0.03
Tim Locastro NYY OF 600.2 0.1 0.65 944 -0.01
Zack Collins CHW C 600.2 0.3 0.64 707 0.09
Bailey Falter PHI RP 600.3 0.5 3.59 520 0.52
Brooks Raley TBR RP 600.3 0.3 4.09 641 0.14
Jake Woodford STL SP 600.3 0.0 3.81 981 0.00
Keegan Akin BAL SP 600.3 1.2 7.60 319 0.13
Sean Reid-Foley NYM RP 600.3 0.1 3.09 882 -0.10
Tim Mayza TOR RP 600.3 0.6 4.30 492 0.59
Marwin Gonzalez NYY IF 600.3 0.1 0.54 933 -0.01
Owen Miller CLE IF 600.3 0.2 1.02 790 0.00
Tomás Nido NYM C 600.3 0.3 1.07 702 0.03
Austin Voth WSN RP 600.4 0.0 4.46 955 -0.11
Kervin Castro SFG RP 600.4 0.2 NA 742 0.10
Touki Toussaint NA SP 600.4 0.1 1.90 888 0.00
Billy Hamilton 0 OF 600.4 -0.1 0.47 1117 -0.01
Harold Castro DET OF,Oth 600.4 0.0 1.22 1042 -0.01
Willians Astudillo MIA IF 600.4 0.1 0.33 948 -0.01
Griffin Jax MIN SP 600.5 0.0 3.20 973 0.00
J.B. Bukauskas ARI RP 600.5 -0.1 NA 1091 -0.06
Jakob Junis SFG RP 600.5 0.1 3.72 837 0.02
Josh Fleming TBR SP 600.5 0.6 6.07 481 0.07
Justus Sheffield SEA SP 600.5 0.4 5.25 601 0.03
Kolby Allard TEX RP 600.5 0.2 3.01 744 0.13
Phil Bickford LAD RP 600.5 0.4 3.36 606 0.26
Scott Effross CHC RP 600.5 0.2 NA 758 0.06
Sergio Romo SEA RP 600.5 0.1 3.91 883 -0.11
Cam Gallagher KCR C 600.5 0.3 0.43 683 0.05
David Bote CHC IF 600.5 0.4 0.87 619 0.05
Eli White TEX OF 600.5 0.1 0.90 917 -0.01
Hoy Park PIT 2B 600.5 0.5 1.40 571 0.06
Isaac Paredes DET 3B 600.5 0.4 0.59 622 0.04
Isan Díaz 0 IF 600.5 0.1 0.19 923 0.00
Jacob Nottingham BAL C 600.5 0.1 NA 925 0.01
Luis Rengifo LAA 2B 600.5 0.3 0.77 692 0.04
Ryan Vilade 0 OF 600.5 -0.1 NA 1126 -0.01
Starlin Castro 0 IF 600.5 0.3 1.07 701 0.03
Yonathan Daza COL OF 600.5 0.0 1.34 1076 -0.02
Clay Holmes NYY RP 600.6 0.6 4.58 469 0.58
D.L. Hall NA SP 600.6 0.4 NA 591 0.04
Demarcus Evans NA RP 600.6 0.0 2.23 967 -0.11
Nick Wittgren STL RP 600.6 0.1 4.14 869 -0.05
Pedro Báez HOU RP 600.6 -0.2 NA 1139 -0.02
Ryan Rolison NA SP 600.6 0.3 NA 671 0.02
Brian Goodwin 0 OF 600.6 0.1 1.49 906 -0.01
Max Schrock CIN OF 600.6 0.0 1.05 1062 -0.02
Nomar Mazara SDP OF 600.6 0.1 0.90 936 -0.01
Sergio Alcántara ARI IF 600.6 0.4 1.45 633 0.02
Aaron Sanchez WSN SP 600.7 0.0 1.61 952 0.00
Archie Bradley LAA RP 600.7 0.2 4.42 713 0.03
Colin Poche TBR RP 600.7 0.3 NA 644 0.21
Dauri Moreta CIN RP 600.7 0.1 NA 816 -0.03
Deolis Guerra OAK RP 600.7 0.2 2.09 724 0.06
Drew VerHagen STL RP 600.7 0.3 NA 647 0.04
Eli Morgan CLE SP 600.7 0.1 3.68 824 0.01
Erik Swanson SEA RP 600.7 0.3 2.54 648 0.14
Hunter Harvey WSN RP 600.7 0.0 NA 975 -0.09
José Álvarez SFG RP 600.7 0.2 2.08 737 -0.02
Michael King NYY RP 600.7 0.6 3.25 487 0.50
Richard Bleier MIA RP 600.7 0.5 2.91 554 0.44
Asdrúbal Cabrera CIN IF 600.7 0.0 1.56 1029 0.00
Daz Cameron 0 OF 600.7 0.1 0.61 913 -0.01
Jordan Luplow ARI OF 600.7 0.8 3.35 435 0.10
Jose Rojas LAA OF 600.7 0.0 0.96 1051 0.00
Travis Shaw 0 3B 600.7 0.0 0.80 1073 0.00
Adam Cimber TOR RP 600.8 0.3 2.79 637 0.19
Austin Adams SDP RP 600.8 0.4 3.27 582 0.22
Casey Sadler SEA RP 600.8 0.3 1.76 642 0.19
Dillon Peters PIT SP 600.8 0.0 5.45 970 0.00
Dominic Leone SFG RP 600.8 0.1 3.43 820 -0.04
Hirokazu Sawamura BOS RP 600.8 0.1 4.76 830 -0.11
J.B. Wendelken ARI RP 600.8 0.2 4.77 729 0.04
Joe Ross WSN SP 600.8 0.5 2.32 540 0.09
Josh Rogers WSN SP 600.8 0.0 2.87 988 0.00
Josh Taylor BOS RP 600.8 0.6 4.24 482 0.47
Louis Head MIA RP 600.8 0.2 1.10 750 0.12
Nick Sandlin CLE RP 600.8 0.5 3.60 550 0.49
Peter Lambert COL SP 600.8 0.3 NA 669 0.03
Randy Dobnak MIN SP 600.8 0.3 2.19 670 0.04
Ryan Brasier BOS RP 600.8 0.0 NA 1013 -0.11
Ryan Helsley STL RP 600.8 0.1 4.35 877 -0.03
Ryan Weathers SDP SP 600.8 0.1 1.94 879 0.02
Taylor Widener ARI RP 600.8 0.0 2.45 1022 -0.11
Tyler Clippard NA RP 600.8 -0.2 1.98 1141 -0.03
Zack Littell SFG RP 600.8 0.1 3.71 901 -0.04
Charlie Culberson 0 OF,Oth 600.8 0.1 1.08 907 -0.02
Gabriel Arias CLE SS 600.8 0.3 NA 687 0.03
Jake Bauers CIN OF,Oth 600.8 0.0 0.16 1045 -0.01
Jake Rogers DET C 600.8 0.1 0.45 928 0.04
John Nogowski ATL 1B 600.8 0.0 0.17 1050 -0.01
José Peraza NYY IF 600.8 0.1 0.40 930 -0.01
Orlando Arcia ATL SS 600.8 0.3 1.00 695 0.03
Shogo Akiyama CIN OF 600.8 -0.1 0.29 1127 -0.02
Anthony Gose CLE RP 600.9 -0.3 NA 1146 -0.01
Brett Anderson NA SP 600.9 0.4 2.56 585 0.05
Bryan Shaw CLE RP 600.9 -0.1 4.65 1082 -0.08
Caleb Ferguson LAD RP 600.9 0.2 NA 716 0.22
Chris Martin CHC RP 600.9 0.4 3.54 587 0.27
Connor Brogdon PHI RP 600.9 0.4 3.82 589 0.31
Jarlín García SFG RP 600.9 0.1 3.86 840 -0.11
Jharel Cotton MIN RP 600.9 0.1 2.31 845 -0.02
Joely Rodríguez NYY RP 600.9 0.5 4.94 541 0.55
Jordan Balazovic NA SP 600.9 0.2 NA 736 0.01
Josh Sborz TEX RP 600.9 0.3 4.65 657 0.17
Julio Teheran NA SP 600.9 -0.1 NA 1096 0.00
Miguel Castro NYM RP 600.9 0.2 3.97 752 -0.03
Phil Maton HOU RP 600.9 0.5 5.47 552 0.35
Sam Coonrod PHI RP 600.9 0.3 3.70 673 0.24
Steven Brault CHC SP 600.9 0.0 2.55 1020 0.00
Yonny Chirinos TBR SP 600.9 0.4 NA 615 0.05
Adam Haseley CHW OF 600.9 0.0 NA 1026 -0.01
Andrew Knapp CIN C 600.9 -0.1 0.17 1115 0.00
Andrew Velazquez LAA SS 600.9 0.1 0.75 902 0.02
Chris Owings 0 IF 600.9 0.0 0.92 1032 -0.02
DJ Stewart BAL OF 600.9 0.5 2.11 565 0.02
Estevan Florial 0 OF 600.9 0.1 NA 920 -0.01
Evan White SEA 1B 600.9 0.0 0.17 1041 -0.01
Johan Camargo PHI IF 600.9 0.4 NA 625 0.04
Lewis Brinson 0 OF 600.9 0.0 0.50 1057 -0.02
Michael Perez PIT C 600.9 0.4 0.88 630 0.06
Mitch Moreland 0 1B 600.9 0.2 1.62 788 0.00
Ronald Torreyes PHI IF 600.9 -0.1 0.44 1125 0.00
Seby Zavala CHW C 600.9 0.0 0.62 1071 0.00
Skye Bolt OAK OF 600.9 0.2 0.38 793 0.00
Taylor Trammell 0 OF 600.9 0.0 0.38 1072 -0.02
TJ Friedl 0 OF 600.9 0.1 NA 945 -0.01
Yonny Hernandez TEX 3B 600.9 0.3 0.50 706 0.03
Andre Jackson NA SP 601.0 0.1 NA 800 0.00
Caleb Thielbar MIN RP 601.0 0.7 4.15 442 0.67
Ethan Small MIL SP 601.0 0.3 NA 649 0.03
Grant Holmes OAK RP 601.0 0.2 NA 727 -0.11
Joe Kelly CHW RP 601.0 0.4 3.01 596 0.36
Josh James NA RP 601.0 0.2 NA 739 0.08
Logan Allen CLE SP 601.0 0.0 2.88 996 0.00
Mike Foltynewicz NA SP 601.0 -0.1 3.02 1101 0.00
Noé Ramirez ARI RP 601.0 0.1 2.73 870 -0.09
Tommy Kahnle LAD RP 601.0 0.2 NA 764 0.10
Trevor Williams NYM RP 601.0 0.2 3.76 765 0.01
Wily Peralta DET SP 601.0 0.1 2.28 897 0.00
Yusmeiro Petit NA RP 601.0 -0.3 3.32 1151 -0.02
Chance Sisco 0 C 601.0 0.0 0.08 1031 0.01
Jack Mayfield LAA IF 601.0 0.1 1.08 924 0.00
Jahmai Jones 0 2B 601.0 0.0 0.21 1044 -0.01
Jake McCarthy ARI OF 601.0 0.0 2.87 1046 -0.02
Luke Raley TBR OF 601.0 0.0 0.41 1059 -0.01
Wilson Ramos 0 C 601.0 0.3 0.63 705 0.05
Aaron Fletcher PIT RP 999.0 0.0 NA 951 -0.11
Adam Morgan NA RP 999.0 0.1 3.09 797 -0.11
Adam Oller OAK SP 999.0 0.4 NA 579 0.01
Adrian Sampson CHC SP 999.0 -0.1 0.45 1078 0.00
Albert Abreu NYY RP 999.0 -0.1 3.89 1079 -0.10
Alex Claudio NYM RP 999.0 0.0 2.44 953 -0.11
Alex Lange DET RP 999.0 0.1 4.02 799 -0.02
Alexander Wells NA RP 999.0 0.2 3.03 710 0.10
Andres Machado WSN RP 999.0 -0.2 2.30 1132 -0.05
Andrew Miller NA RP 999.0 -0.1 2.48 1080 -0.07
Andrew Wantz LAA RP 999.0 0.2 3.02 712 0.26
Angel Perdomo NA RP 999.0 0.1 NA 801 -0.06
Anthony Banda PIT RP 999.0 -0.2 4.33 1133 -0.05
Anthony Misiewicz SEA RP 999.0 0.3 4.31 639 0.15
Ashton Goudeau COL RP 999.0 -0.3 1.61 1147 -0.03
Austin Davis BOS RP 999.0 0.3 3.55 640 0.09
Austin Pruitt NA RP 999.0 0.0 NA 954 -0.11
Austin Warren LAA RP 999.0 0.4 3.81 583 0.40
Ben Bowden COL RP 999.0 0.0 2.19 956 -0.08
Blake Parker NA RP 999.0 0.0 1.39 957 -0.09
Blake Taylor HOU RP 999.0 0.1 3.44 803 -0.02
Brad Brach ATL RP 999.0 0.0 2.66 958 -0.11
Brandon Bielak HOU RP 999.0 0.1 2.01 805 -0.02
Brandon Kintzler NA RP 999.0 0.0 2.35 959 -0.11
Brandon Workman NA RP 999.0 -0.1 2.19 1081 -0.05
Brett Martin TEX RP 999.0 0.4 3.57 586 0.27
Bryan Abreu HOU RP 999.0 0.1 3.13 806 -0.04
Bryan Garcia NA RP 999.0 -0.2 2.58 1134 -0.03
Buck Farmer NA RP 999.0 -0.1 2.49 1083 -0.06
Cam Bedrosian PHI RP 999.0 0.0 0.99 961 -0.11
Charlie Barnes NA SP 999.0 0.1 1.03 808 0.00
Chase Anderson NA SP 999.0 0.0 0.96 963 0.00
Chasen Shreve NYM RP 999.0 -0.2 1.88 1135 -0.07
Chaz Roe NA RP 999.0 0.0 NA 964 -0.11
Chi Chi González NA SP 999.0 -0.2 2.59 1136 0.00
Chris Mazza TBR SP 999.0 0.2 1.06 719 0.01
Cionel Pérez BAL RP 999.0 0.5 4.16 524 0.41
Cody Ponce NA SP 999.0 0.1 2.27 809 0.00
Cody Poteet MIA RP 999.0 0.1 1.84 810 -0.11
Cory Abbott NA SP 999.0 0.0 NA 965 0.00
Cristopher Sánchez PHI SP 999.0 0.3 NA 645 0.02
Dan Winkler TEX RP 999.0 -0.1 2.02 1084 -0.06
Daniel Norris CHC RP 999.0 0.2 4.81 720 0.02
Danny Coulombe MIN RP 999.0 0.1 1.32 814 -0.08
Darren O'Day ATL RP 999.0 0.1 NA 815 -0.11
Darwinzon Hernandez BOS RP 999.0 0.2 3.51 722 0.11
David Phelps TOR RP 999.0 0.1 NA 817 -0.06
Dean Kremer BAL SP 999.0 0.5 4.17 530 0.06
Dellin Betances NA RP 999.0 0.0 NA 966 -0.11
Dennis Santana TEX RP 999.0 0.0 3.04 968 -0.11
Derek Holland BOS RP 999.0 -0.1 3.10 1085 -0.07
Devin Smeltzer MIN SP 999.0 0.1 NA 819 0.02
Dillon Maples NA RP 999.0 0.0 1.03 969 -0.11
Domingo Tapia KCR RP 999.0 0.0 2.78 971 -0.09
Drew Smith NYM RP 999.0 0.1 2.76 822 0.01
Duane Underwood Jr. PIT RP 999.0 0.1 4.04 823 -0.11
Enyel De Los Santos CLE RP 999.0 0.1 2.09 826 -0.01
Erasmo Ramírez NA RP 999.0 -0.3 1.10 1148 -0.02
Eric Hanhold NA RP 999.0 -0.1 NA 1086 -0.06
Ervin Santana NA RP 999.0 -0.4 1.46 1152 0.00
Evan Phillips LAD RP 999.0 0.1 NA 827 -0.07
Fernando Abad NA RP 999.0 0.0 NA 972 -0.11
Francisco Perez WSN RP 999.0 0.1 NA 828 -0.02
Gabe Speier KCR RP 999.0 0.2 NA 726 0.09
Hans Crouse NA SP 999.0 0.1 NA 829 0.00
Hoby Milner MIL RP 999.0 0.1 1.79 831 -0.08
Humberto Castellanos ARI SP 999.0 0.1 2.67 832 0.00
Ian Gibaut CLE RP 999.0 0.0 NA 976 -0.11
Ian Krol SDP RP 999.0 -0.1 NA 1090 -0.11
Isaac Mattson BAL RP 999.0 0.1 NA 833 -0.11
J.C. Mejía MIL RP 999.0 0.0 2.77 977 -0.11
Jace Fry WSN RP 999.0 0.1 NA 834 -0.05
Jacob Barnes DET RP 999.0 0.1 2.06 835 -0.05
Jacob Webb NA RP 999.0 0.0 2.32 979 -0.11
Jaime Barría LAA SP 999.0 0.3 4.46 651 0.04
Jake Arrieta NA SP 999.0 0.0 2.79 980 0.00
Jake Reed NYM RP 999.0 0.1 NA 836 -0.06
Jalen Beeks TBR RP 999.0 0.1 NA 838 0.04
Jandel Gustave MIL RP 999.0 0.1 NA 839 -0.04
Janson Junk LAA SP 999.0 0.0 NA 982 0.00
Jason Foley DET RP 999.0 -0.1 NA 1092 -0.08
Javy Guerra SDP RP 999.0 0.1 NA 841 0.04
Jay Jackson ATL RP 999.0 0.1 2.74 842 -0.07
JD Hammer COL RP 999.0 0.1 2.07 843 -0.08
Jeff Hoffman CIN RP 999.0 0.0 4.19 983 -0.11
Jeffrey Springs TBR RP 999.0 0.3 3.41 653 0.17
Jerad Eickhoff PIT RP 999.0 -0.1 NA 1093 -0.09
Jesse Chavez NA RP 999.0 0.1 2.82 844 -0.11
Jesse Hahn NA RP 999.0 -0.1 NA 1094 -0.04
Jhonathan Diaz NA RP 999.0 0.2 NA 730 0.08
Jhoulys Chacín COL RP 999.0 -0.3 3.56 1149 0.00
Jimmy Herget LAA RP 999.0 0.0 NA 984 -0.11
Jimmy Lambert NA SP 999.0 0.1 NA 846 0.01
Joe Jiménez DET RP 999.0 0.2 5.10 733 0.07
Joe Mantiply ARI RP 999.0 0.2 3.00 734 0.03
Joe Smith MIN RP 999.0 0.1 3.44 847 -0.01
Joel Payamps KCR RP 999.0 0.3 1.86 655 0.12
Joey Krehbiel BAL RP 999.0 0.0 NA 985 -0.11
Johan Oviedo NA SP 999.0 0.1 2.51 848 0.01
John Brebbia SFG RP 999.0 0.1 NA 849 -0.04
John King TEX RP 999.0 0.4 2.94 597 0.53
Jon Heasley KCR SP 999.0 0.2 NA 735 0.01
Jonathan Hernández TEX RP 999.0 0.1 NA 851 -0.03
Jonathan Holder CHC RP 999.0 0.0 NA 986 -0.11
Jonathan Stiever CHW SP 999.0 0.1 NA 852 0.00
Jordan Holloway NA RP 999.0 0.0 1.70 987 -0.08
Jordan Sheffield COL RP 999.0 -0.1 1.34 1095 -0.05
José Cisnero DET RP 999.0 0.4 5.20 599 0.24
José Quijada LAA RP 999.0 0.6 3.89 480 0.53
José Ruiz CHW RP 999.0 0.2 2.28 738 0.00
José Ureña MIL SP 999.0 -0.2 1.98 1137 0.00
Josh Tomlin NA RP 999.0 -0.3 2.63 1150 -0.01
Josh Winder MIN SP 999.0 0.5 NA 543 0.04
Jovani Moran MIN RP 999.0 0.3 NA 658 0.20
Juan Minaya MIN RP 999.0 0.1 1.49 854 -0.08
Junior Fernández NA RP 999.0 0.1 1.38 855 -0.10
Junior Guerra NA RP 999.0 -0.1 2.24 1097 -0.11
Justin Anderson TEX RP 999.0 0.0 NA 990 -0.11
Justin Bruihl LAD RP 999.0 0.2 NA 741 0.01
Justin Garza CLE RP 999.0 -0.1 1.39 1098 -0.08
Justin Lawrence COL RP 999.0 0.0 NA 991 -0.11
Justin Wilson CIN RP 999.0 0.1 3.69 856 -0.05
Keegan Thompson CHC RP 999.0 0.0 4.43 992 -0.11
Keone Kela ARI RP 999.0 0.0 NA 993 -0.11
Keynan Middleton NA RP 999.0 -0.1 1.24 1099 -0.08
Kirby Snead OAK RP 999.0 0.4 NA 602 0.30
Kodi Whitley STL RP 999.0 0.2 2.06 743 0.00
Kohei Arihara TEX SP 999.0 -0.1 0.56 1100 0.00
Konnor Pilkington CLE RP 999.0 0.1 NA 857 -0.11
Kyle Bradish NA SP 999.0 0.3 NA 662 0.02
Kyle Funkhouser DET RP 999.0 0.1 4.96 858 -0.06
Kyle McGowin NA RP 999.0 0.2 1.90 746 0.07
Kyle Tyler NA RP 999.0 0.0 NA 994 -0.04
Kyle Zimmer NA RP 999.0 0.0 1.84 995 -0.04
MacKenzie Gore SDP SP 999.0 0.6 NA 485 0.07
Manuel Rodríguez CHC RP 999.0 0.1 NA 861 -0.02
Mason Thompson WSN RP 999.0 0.0 1.92 998 -0.11
Matt Foster CHW RP 999.0 0.1 2.26 862 -0.03
Matt Harvey NA SP 999.0 0.3 2.59 664 0.03
Matt Moore TEX RP 999.0 0.0 1.96 999 -0.08
Matt Peacock ARI RP 999.0 0.0 1.19 1000 -0.11
Matt Shoemaker NA SP 999.0 0.0 1.71 1001 0.00
Max Kranick PIT SP 999.0 0.3 2.52 665 0.03
Michael Feliz BOS RP 999.0 0.0 2.28 1002 -0.11
Michael Rucker CHC RP 999.0 0.0 2.63 1003 -0.11
Miguel Del Pozo DET RP 999.0 0.1 NA 863 0.00
Miguel Sánchez MIL RP 999.0 0.0 1.50 1004 -0.11
Mike Baumann BAL RP 999.0 0.0 NA 1005 -0.11
Mike Fiers NA SP 999.0 -0.2 NA 1138 0.00
Nabil Crismatt SDP RP 999.0 0.0 1.80 1006 -0.11
Nick Margevicius SEA SP 999.0 0.1 NA 866 0.01
Nick Mears PIT RP 999.0 0.0 2.59 1007 -0.11
Nick Neidert NA RP 999.0 -0.1 1.58 1102 -0.04
Nick Nelson PHI RP 999.0 0.1 NA 867 -0.08
Nick Snyder TEX RP 999.0 0.1 NA 868 -0.07
Oliver Drake TBR RP 999.0 0.1 NA 871 -0.03
Oliver Pérez ARI RP 999.0 0.0 NA 1008 -0.11
Packy Naughton NA SP 999.0 0.3 1.94 667 0.03
Patrick Murphy WSN RP 999.0 0.4 3.83 605 0.23
Paul Blackburn OAK SP 999.0 0.6 4.20 490 0.01
Peter Solomon HOU RP 999.0 0.1 NA 873 -0.10
Phillips Valdez BOS RP 999.0 -0.1 1.96 1103 -0.10
Rafael Dolis NA RP 999.0 0.0 3.45 1009 -0.11
Rafael Montero HOU RP 999.0 0.1 4.11 874 -0.07
Ralph Garza Jr. NA RP 999.0 -0.1 1.65 1104 -0.09
Rex Brothers MIL RP 999.0 -0.1 2.06 1105 -0.11
Robert Gsellman CHC RP 999.0 -0.1 0.85 1106 -0.07
Rony García DET RP 999.0 -0.2 NA 1140 -0.07
Ross Detwiler NA RP 999.0 0.0 2.63 1012 -0.11
Ryan Borucki TOR RP 999.0 0.1 2.19 875 -0.01
Ryan Burr CHW RP 999.0 0.0 2.61 1014 -0.11
Ryan Feltner NA SP 999.0 0.1 NA 876 0.00
Ryan Hendrix CIN RP 999.0 0.0 3.58 1015 -0.11
Ryan Sherriff PHI RP 999.0 0.1 NA 878 -0.05
Ryan Thompson TBR RP 999.0 0.3 3.35 672 0.22
Ryne Harper NA RP 999.0 0.1 1.44 880 -0.09
Ryne Nelson ARI SP 999.0 0.2 NA 753 0.00
Sam Hentges CLE RP 999.0 0.2 4.52 755 0.11
Sam Howard PIT RP 999.0 0.2 4.40 756 0.09
Sam Moll OAK RP 999.0 0.0 NA 1016 -0.11
Sam Selman OAK RP 999.0 0.0 1.39 1017 -0.11
Scott Kazmir NA SP 999.0 -0.1 NA 1107 0.00
Sean Guenther MIA RP 999.0 0.2 1.17 759 -0.01
Sean Poppen ARI RP 999.0 0.3 3.39 674 0.13
Steven Okert MIA RP 999.0 0.2 2.58 761 0.10
T.J. McFarland STL RP 999.0 0.1 2.59 885 -0.01
T.J. Zeuch NA RP 999.0 0.1 NA 886 -0.11
Tanner Roark NA SP 999.0 -0.1 NA 1108 0.00
Taylor Clarke KCR RP 999.0 0.0 3.62 1021 -0.11
Thomas Hatch NA RP 999.0 0.1 NA 887 -0.07
Tim Hill SDP RP 999.0 0.3 3.75 676 0.16
Tobias Myers CLE SP 999.0 0.2 NA 763 0.02
Tommy Hunter NA RP 999.0 0.0 NA 1023 -0.11
Tony Watson NA RP 999.0 0.0 2.80 1024 -0.11
Trent Thornton TOR RP 999.0 0.1 2.25 889 -0.04
Trevor Cahill NA SP 999.0 0.1 1.71 890 0.01
Trevor Stephan CLE RP 999.0 0.1 4.44 891 -0.07
Trey Wingenter CIN RP 999.0 0.1 NA 892 -0.02
Tyler Kinley COL RP 999.0 0.1 4.27 893 -0.11
Tyler Thornburg ATL RP 999.0 -0.2 NA 1142 -0.03
Wade LeBlanc NA SP 999.0 0.1 1.96 894 0.00
Wander Suero NA RP 999.0 0.1 2.08 895 0.08
Wandy Peralta NYY RP 999.0 0.2 3.98 766 0.06
Yency Almonte LAD RP 999.0 -0.1 2.60 1111 -0.06
Yennsy Díaz NA RP 999.0 -0.1 1.12 1112 -0.06
Yoan López NA RP 999.0 0.0 NA 1025 -0.11
Zac Lowther BAL SP 999.0 0.9 7.18 404 0.14
Zach Logue NA SP 999.0 0.2 NA 768 0.00
Zach Pop MIA RP 999.0 0.1 3.20 900 0.01
Zack Burdi NA RP 999.0 -0.1 NA 1113 -0.09
Adam Eaton 0 OF 999.0 0.2 1.16 769 -0.01
Alan Trejo COL IF 999.0 0.0 0.38 1027 -0.01
Alex Blandino 0 IF 999.0 -0.1 0.22 1114 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 1028 -0.02
Austin Romine 0 C 999.0 0.1 0.20 904 0.01
Ben Rortvedt NYY C 999.0 0.6 0.98 496 0.22
Brennen Davis CHC OF 999.0 0.2 NA 772 0.01
Brock Holt ATL IF 999.0 0.0 0.54 1030 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 1033 -0.02
Cody Thomas 0 OF 999.0 0.1 NA 908 0.00
Curtis Terry MIN DH 999.0 0.1 NA 911 -0.01
Daniel Johnson CLE OF 999.0 0.0 0.38 1034 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.24 1035 -0.01
Danny Mendick CHW IF 999.0 0.1 0.44 912 0.00
Danny Santana 0 OF,Oth 999.0 0.0 0.42 1036 -0.01
Delino DeShields MIA OF 999.0 0.0 0.24 1038 -0.01
Derek Hill DET OF 999.0 0.1 0.87 914 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 1119 -0.02
Drew Ellis ARI 3B 999.0 0.1 0.42 915 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.78 916 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.77 918 0.01
Eric Sogard 0 2B 999.0 0.0 0.54 1039 -0.01
Ernie Clement CLE IF 999.0 0.1 0.60 919 0.00
Gilberto Celestino MIN OF 999.0 0.1 0.18 921 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.12 1120 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 922 -0.01
Jake Cave MIN OF 999.0 -0.1 0.50 1121 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.01 927 -0.01
Jared Oliva 0 OF 999.0 0.0 NA 1047 -0.01
Jarrod Dyson 0 OF 999.0 0.0 0.57 1048 -0.01
Joe Panik 0 2B 999.0 0.0 0.57 1049 -0.01
José Devers MIA IF 999.0 0.1 NA 929 -0.01
Josh Palacios 0 OF 999.0 0.0 NA 1052 -0.01
Juan Lagares 0 OF 999.0 0.0 0.68 1053 -0.02
Khris Davis 0 OF 999.0 0.0 0.72 1055 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.60 1056 -0.02
Luis Barrera 0 OF 999.0 0.0 NA 1058 -0.01
Luis Campusano SDP C 999.0 0.5 NA 574 0.07
Luis Guillorme NYM IF 999.0 0.2 0.56 785 0.01
Luke Maile CLE C 999.0 0.2 NA 786 0.00
Luke Williams SFG OF 999.0 0.0 0.46 1060 -0.02
Magneuris Sierra LAA OF 999.0 -0.2 0.28 1144 0.00
Matt Joyce PHI OF 999.0 -0.1 0.26 1122 -0.01
Micker Adolfo CHW OF 999.0 0.0 NA 1064 -0.02
Nick Allen 0 SS 999.0 0.1 NA 935 0.01
Nick Maton PHI IF 999.0 0.0 0.59 1067 -0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.34 937 -0.01
Patrick Mazeika 0 C 999.0 0.1 0.12 938 0.01
Payton Henry MIA C 999.0 0.2 NA 791 0.02
Richie Martin BAL SS 999.0 -0.1 0.45 1123 0.00
Rob Refsnyder BOS OF 999.0 0.0 0.40 1069 -0.02
Rodolfo Castro 0 2B 999.0 0.1 0.37 940 0.00
Roman Quinn 0 OF 999.0 -0.1 0.23 1124 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 941 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.28 942 -0.01
Sandy León CLE C 999.0 0.3 0.65 699 0.00
Shed Long Jr. BAL OF,Oth 999.0 0.2 1.02 792 0.00
Taylor Jones HOU 1B 999.0 0.1 0.48 943 -0.01
Travis Jankowski NYM OF 999.0 -0.1 0.62 1129 -0.02
Tres Barrera WSN C 999.0 0.1 0.46 946 0.02
Tyler Nevin BAL OF,Oth 999.0 0.0 NA 1074 -0.01
Vimael Machín 0 IF 999.0 0.1 NA 947 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.98 1130 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.0 NA 1075 -0.01
Zach Reks 0 OF 999.0 0.0 NA 1077 -0.02
Zack Short 0 SS 999.0 0.1 0.20 950 0.01
Garrett Crochet CHW RP NA NA NA 0 0.74
Kwang Hyun Kim NA SP NA NA NA -1 0.02
Robert Suarez SDP RP NA NA NA -2 0.36
Aaron Altherr 0 OF NA NA NA -3 -0.01
Bobby Witt Jr. KCR SS NA NA NA -4 0.42
Bryson Stott PHI SS NA NA NA -5 0.08
CJ Abrams SDP SS NA NA NA -6 0.02
Cooper Hummel ARI C,Oth NA NA NA -7 0.01
Jeremy Peña HOU SS NA NA NA -8 0.25
Jordy Mercer 0 SS NA NA NA -9 0.00
Josh Reddick 0 OF NA NA NA -10 0.00
Julio Rodríguez SEA OF NA NA NA -11 0.60
Seiya Suzuki CHC DH NA NA NA -12 0.64
Steven Kwan CLE OF NA NA NA -13 0.09

Hitters by Position

My non-normalized model scores for a player are Model_Score.

Overall

Name Team Position ADP WAR Model_Score WAR_Rank Hitting_Rank Pos_Scarcity
Trea Turner LAD SS 1.2 5.6 9.94 5 4 0.96
José Ramírez CLE 3B 3.2 6.0 9.85 3 6 0.94
Juan Soto WSN OF 3.6 7.6 9.64 1 11 0.92
Bo Bichette TOR SS 4.4 4.7 9.70 12 8 0.89
Vladimir Guerrero Jr. TOR IF 4.5 5.5 10.04 6 3 0.88
Bryce Harper PHI OF 7.9 5.3 10.25 8 1 0.79
Shohei Ohtani LAA DH 8.2 4.0 9.71 33 7 0.73
Kyle Tucker HOU OF 12.0 4.6 9.52 17 14 0.71
Mike Trout LAA OF 12.6 6.6 8.97 2 27 0.94
Rafael Devers BOS 3B 13.3 4.8 9.68 11 10 0.84
Ronald Acuña Jr. ATL OF 14.2 5.1 8.80 10 30 0.75
Mookie Betts LAD OF 14.7 5.8 9.20 4 16 0.88
Luis Robert CHW OF 15.4 4.6 9.56 18 13 0.85
Ozzie Albies ATL 2B 17.5 4.1 9.11 32 21 0.88
Freddie Freeman LAD 1B 17.9 5.1 9.69 9 9 0.86
Manny Machado SDP 3B 22.6 4.6 9.01 19 23 0.79
Yordan Alvarez HOU DH 24.7 4.2 8.62 30 34 0.86
Teoscar Hernández TOR OF 27.1 2.2 9.48 106 15 0.40
Tim Anderson CHW SS 30.1 3.2 8.88 54 29 0.58
Starling Marte NYM OF 30.8 2.7 8.28 72 40 0.50
Salvador Perez KCR C 32.5 3.7 8.18 41 43 0.82
Trevor Story BOS SS 33.1 4.3 8.66 27 32 0.68
Whit Merrifield KCR OF,Oth 33.6 2.3 7.07 99 74 0.42
Cedric Mullins BAL OF 34.4 3.2 9.15 51 18 0.66
Matt Olson ATL 1B 34.9 4.3 9.12 26 20 0.81
Aaron Judge NYY OF 35.4 5.3 9.13 7 19 0.84
Byron Buxton MIN OF 39.0 4.6 8.63 16 33 0.81
Marcus Semien TEX IF 40.3 4.7 10.24 14 2 0.85
Xander Bogaerts BOS SS 45.8 4.5 8.73 22 31 0.82
Pete Alonso NYM 1B 46.3 3.5 9.02 44 22 0.76
Paul Goldschmidt STL 1B 47.6 3.5 9.88 43 5 0.72
Tyler O'Neill STL OF 48.0 2.9 8.98 65 26 0.64
J.T. Realmuto PHI C 50.8 3.8 7.26 35 71 0.86
Francisco Lindor NYM SS 52.9 4.2 7.32 29 68 0.72
Austin Riley ATL 3B 53.1 3.1 8.52 55 38 0.46
Will Smith LAD C 54.4 4.7 6.97 15 78 0.95
Nick Castellanos PHI OF 56.5 2.4 9.57 87 12 0.48
George Springer TOR OF 56.7 4.1 8.89 31 28 0.67
Adalberto Mondesi KCR SS 58.1 2.0 5.90 116 122 0.33
Wander Franco TBR SS 58.9 4.5 7.84 21 55 0.78
Kris Bryant COL OF,Oth 63.3 2.4 8.52 85 37 0.36
Javier Báez DET SS 63.8 2.8 8.59 68 36 0.53
Eloy Jiménez CHW OF 66.0 2.1 5.75 111 133 0.45
Randy Arozarena TBR OF 67.6 1.9 7.91 133 53 0.34
Nolan Arenado STL 3B 71.3 3.7 8.09 40 48 0.66
Fernando Tatis Jr. SDP SS 71.7 3.4 5.53 45 138 0.63
Jose Altuve HOU 2B 74.8 3.8 8.99 37 24 0.81
Brandon Lowe TBR 2B 78.2 4.4 8.43 23 39 0.92
Ketel Marte ARI IF 78.9 3.7 8.17 38 44 0.65
Corey Seager TEX SS 79.6 4.4 7.57 24 63 0.75
José Abreu CHW 1B 79.9 2.1 8.25 114 41 0.46
Jorge Polanco MIN IF 80.5 3.1 9.17 57 17 0.56
Jazz Chisholm Jr. MIA IF 81.0 1.8 6.72 136 87 0.28
J.D. Martinez BOS OF 88.9 2.1 8.07 113 49 0.40
Alex Bregman HOU 3B 89.4 4.5 6.62 20 93 0.74
Daulton Varsho ARI C,Oth 91.2 2.2 5.45 101 141 0.37
Jonathan India CIN 2B 92.2 3.8 8.61 36 35 0.84
Bryan Reynolds PIT OF 92.9 4.2 8.98 28 25 0.77
Giancarlo Stanton NYY OF 95.1 2.3 7.02 91 76 0.51
Tommy Edman STL 2B 97.4 2.3 5.94 98 120 0.54
Carlos Correa MIN SS 98.5 4.7 7.69 13 58 0.92
Christian Yelich MIL OF 99.8 2.9 6.06 62 114 0.59
Yasmani Grandal CHW C 102.7 3.9 6.37 34 102 0.90
Kyle Schwarber PHI OF 106.5 2.7 8.13 71 47 0.61
Mitch Haniger SEA OF 108.4 2.5 8.19 79 42 0.50
Anthony Rendon LAA 3B 108.7 4.3 4.12 25 195 0.70
Willson Contreras CHC C 110.6 2.7 5.79 73 129 0.75
Max Muncy LAD IF 118.7 3.2 7.61 53 60 0.68
Rhys Hoskins PHI OF,Oth 118.9 3.1 7.95 58 51 0.64
Jared Walsh LAA 1B 120.7 2.3 7.58 92 62 0.52
Cody Bellinger LAD OF 121.4 2.9 3.28 63 242 0.61
Franmil Reyes CLE OF 121.7 1.9 7.93 126 52 0.32
Dansby Swanson ATL SS 123.5 2.7 7.54 70 65 0.49
C.J. Cron COL 1B 123.9 1.6 7.57 158 64 0.32
Ryan Mountcastle BAL OF,Oth 124.3 1.6 7.82 160 56 0.26
Jesse Winker SEA OF 124.8 3.1 7.96 56 50 0.74
Willy Adames MIL SS 125.6 3.3 7.58 50 61 0.60
Jake Cronenworth SDP 2B 128.8 3.3 7.41 47 66 0.74
Myles Straw CLE OF 129.8 2.3 4.75 97 163 0.39
DJ LeMahieu NYY IF 131.9 2.3 4.90 90 161 0.38
Josh Bell WSN 1B 133.9 1.9 7.28 130 69 0.44
Tyler Stephenson CIN C 135.1 2.9 5.21 66 145 0.78
Chris Taylor LAD OF,Oth 140.6 2.1 6.65 109 90 0.37
Lourdes Gurriel Jr. TOR OF 141.8 1.3 6.63 192 92 0.23
Joey Votto CIN 1B 142.7 1.9 8.17 128 45 0.41
Keibert Ruiz WSN C 146.0 2.2 4.28 103 189 0.65
Trent Grisham SDP OF 147.5 3.1 6.32 59 106 0.63
Justin Turner LAD 3B 147.6 3.0 7.19 61 72 0.43
Jarred Kelenic SEA OF 148.7 1.4 4.54 177 174 0.25
Akil Baddoo DET OF 152.1 1.6 6.32 154 105 0.29
Mitch Garver TEX C 152.7 2.3 4.94 96 160 0.70
Ryan McMahon COL IF 154.7 2.0 6.71 119 88 0.32
Ke'Bryan Hayes PIT 3B 156.7 3.3 5.09 49 150 0.53
Austin Meadows TBR OF 158.7 1.9 6.87 123 80 0.25
Yoán Moncada CHW 3B 161.4 3.4 6.23 46 109 0.59
Gleyber Torres NYY IF 162.3 2.4 4.56 82 172 0.45
Ty France SEA 1B 162.4 2.4 6.85 88 82 0.57
Hunter Renfroe MIL OF 164.5 1.7 7.32 148 67 0.31
Dylan Carlson STL OF 166.6 2.5 6.80 76 84 0.43
Marcell Ozuna ATL OF 166.7 2.2 3.65 104 220 0.47
Brendan Rodgers COL IF 166.9 1.6 6.07 157 113 0.23
Nelson Cruz WSN OF 167.4 1.4 7.18 179 73 0.16
Matt Chapman TOR 3B 167.9 3.7 5.59 39 135 0.63
Adolis García TEX OF 170.1 1.3 6.75 184 85 0.20
Alex Verdugo BOS OF 174.8 2.4 6.48 81 97 0.41
Amed Rosario CLE SS 175.7 1.9 5.94 121 118 0.32
Avisaíl García MIA OF 176.0 2.3 7.89 89 54 0.44
Josh Donaldson NYY 3B 179.7 3.3 5.88 48 124 0.56
Joey Gallo NYY OF 182.3 3.5 7.27 42 70 0.64
Eddie Rosario ATL OF 183.1 0.9 5.87 241 125 0.14
Anthony Rizzo NYY 1B 187.6 2.2 6.88 100 79 0.49
Alex Kirilloff MIN OF,Oth 189.1 1.6 5.12 155 149 0.24
Jorge Soler MIA OF 193.2 1.5 5.94 166 119 0.25
Andrew Benintendi KCR OF 194.1 1.9 6.57 122 94 0.38
Robbie Grossman DET OF 194.1 1.7 6.24 152 108 0.29
Kolten Wong MIL 2B 198.0 2.5 7.00 77 77 0.63
Jo Adell LAA OF 202.1 0.6 5.59 288 136 0.04
Christian Vázquez BOS C 204.1 1.7 3.40 146 234 0.45
Eduardo Escobar NYM IF 204.2 1.9 7.06 125 75 0.30
Alejandro Kirk TOR C 205.6 1.9 3.68 120 218 0.49
Jean Segura PHI IF 211.4 2.4 6.84 84 83 0.40
Yuli Gurriel HOU 1B 211.5 1.4 6.51 183 96 0.19
Eugenio Suárez SEA 3B 213.8 2.0 5.05 117 155 0.34
Adam Duvall ATL OF 218.1 1.7 5.81 141 127 0.27
Bobby Dalbec BOS 1B 218.8 1.7 5.94 144 121 0.35
Luke Voit SDP 1B 220.0 1.3 4.70 193 166 0.17
AJ Pollock LAD OF 220.9 1.7 6.39 142 100 0.33
Trey Mancini BAL OF,Oth 221.5 1.4 5.79 181 128 0.21
Jonathan Schoop DET IF 222.2 1.9 6.53 129 95 0.37
Oneil Cruz 0 SS 222.4 1.7 NA 151 -39 0.29
Luis Urías MIL IF 223.7 2.4 6.38 86 101 0.41
Elias Díaz COL C 226.0 1.3 4.05 188 200 0.35
Enrique Hernández BOS OF,Oth 226.4 2.8 6.70 67 89 0.53
Adley Rutschman BAL C 227.1 2.1 NA 108 -1 0.60
Brandon Crawford SFG SS 227.5 2.7 7.79 69 57 0.51
Ian Happ CHC OF 228.4 2.1 6.09 112 112 0.35
Travis d'Arnaud ATL C 230.6 1.4 2.78 180 277 0.39
Tommy Pham CIN OF 234.6 1.8 5.18 140 147 0.34
Jesús Sánchez MIA OF 236.8 2.3 6.86 93 81 0.36
Charlie Blackmon COL OF 237.3 0.6 6.06 284 115 0.06
Jonathan Villar CHC IF 238.2 1.2 4.95 199 157 0.13
Sean Murphy OAK C 241.5 2.5 3.57 80 224 0.72
Gary Sánchez MIN C 243.3 1.1 3.58 212 223 0.24
Brandon Belt SFG 1B 244.7 2.5 7.66 75 59 0.61
Harrison Bader STL OF 244.8 2.9 6.21 64 110 0.55
Jeimer Candelario DET 3B 247.8 3.2 6.26 52 107 0.49
Frank Schwindel CHC 1B 248.1 0.7 8.15 265 46 0.10
Nathaniel Lowe TEX 1B 248.9 1.8 6.39 137 98 0.39
Omar Narváez MIL C 254.6 1.7 3.10 150 254 0.47
Michael Brantley HOU OF 255.0 1.9 5.39 132 142 0.39
Mike Zunino TBR C 257.7 2.0 5.05 118 154 0.58
Austin Hays BAL OF 258.2 1.7 6.73 143 86 0.28
Michael Conforto 0 OF 260.6 2.2 4.01 105 202 0.52
Joey Bart SFG C 262.2 0.9 NA 246 -21 0.21
Nicky Lopez KCR IF 265.2 1.8 5.58 139 137 0.26
Gavin Lux LAD IF 267.7 1.7 4.25 147 191 0.19
Ramón Laureano OAK OF 268.4 2.6 6.05 74 116 0.48
Miguel Sanó MIN IF 274.7 0.8 6.35 257 103 0.08
Carson Kelly ARI C 279.4 1.9 3.74 124 216 0.53
Randal Grichuk COL OF 279.5 0.7 5.09 270 151 0.05
Andrés Giménez CLE IF 284.1 1.8 3.56 134 226 0.24
Andrew Vaughn CHW OF 290.4 0.9 3.93 238 206 0.21
Isiah Kiner-Falefa NYY IF 294.4 1.4 4.94 175 159 0.21
Mark Canha NYM OF 296.3 1.7 6.65 149 91 0.35
Mike Yastrzemski SFG OF 300.1 2.3 6.39 95 99 0.38
Lane Thomas WSN OF 301.4 1.1 4.51 218 175 0.16
Wil Myers SDP OF 303.1 1.1 5.77 222 130 0.18
Max Stassi LAA C 304.9 1.9 4.00 131 203 0.51
Jesús Aguilar MIA 1B 306.2 1.1 5.25 213 144 0.14
Max Kepler MIN OF 309.0 2.5 6.33 78 104 0.45
Josh Rojas ARI OF,Oth 312.0 1.3 4.65 191 169 0.27
Andrew McCutchen MIL OF 315.5 0.9 5.96 237 117 0.12
Eric Haase DET C 322.7 0.5 3.85 311 210 0.12
Jeff McNeil NYM OF,Oth 327.5 1.9 4.33 127 188 0.38
Yadier Molina STL C 338.8 1.2 3.31 207 240 0.27
Raimel Tapia TOR OF 340.0 0.3 4.36 355 185 0.02
Anthony Santander BAL OF 340.2 1.3 5.08 186 153 0.21
Cavan Biggio TOR 2B 341.7 1.3 3.20 187 245 0.20
Gio Urshela MIN 3B 347.8 1.4 3.94 174 205 0.14
Riley Greene DET OF 350.5 1.3 NA 194 -41 0.34
Nick Senzel CIN OF 359.6 1.1 3.33 220 237 0.15
Connor Joe COL OF,Oth 364.2 0.7 4.26 264 190 0.07
Brandon Nimmo NYM OF 367.0 3.0 5.72 60 134 0.58
Ha-Seong Kim SDP IF 368.8 1.5 3.10 165 253 0.20
Garrett Hampson COL OF,Oth 369.3 0.3 3.12 347 252 0.01
Patrick Wisdom CHC 3B 370.9 1.2 5.82 204 126 0.13
Luis Arraez MIN IF 377.8 1.5 4.46 168 179 0.22
Austin Nola SDP C,Oth 379.4 1.6 2.78 156 278 0.21
Jorge Mateo BAL OF,Oth 384.9 0.5 3.34 314 236 0.04
Rowdy Tellez MIL 1B 386.7 0.8 3.63 260 221 0.12
Nick Madrigal CHC 2B 390.1 1.8 4.57 138 171 0.41
Tyler Naquin CIN OF 391.3 0.7 6.19 277 111 0.09
James McCann NYM C 391.9 1.4 2.46 176 296 0.37
Keston Hiura MIL 2B 393.2 0.2 1.68 380 330 0.01
Danny Jansen TOR C 395.6 2.1 3.89 110 208 0.55
Josh Harrison CHW 2B 395.8 1.3 4.66 190 168 0.15
Alec Bohm PHI 3B 407.9 1.3 3.66 185 219 0.19
Manuel Margot TBR OF 409.3 1.1 4.40 219 182 0.16
Brandon Marsh LAA OF 410.4 1.2 3.56 196 225 0.19
Mike Moustakas CIN IF 410.7 0.9 2.91 248 270 0.10
Abraham Toro SEA IF 414.8 1.1 2.89 208 271 0.16
Rafael Ortega CHC OF 415.2 0.8 5.08 258 152 0.11
Adam Frazier SEA OF,Oth 420.0 2.1 5.75 107 132 0.41
Josh Lowe TBR OF 437.3 0.6 NA 290 -25 0.00
César Hernández WSN 2B 440.6 1.7 5.01 145 156 0.37
Wilmer Flores SFG 2B 444.6 1.4 4.70 182 165 0.16
LaMonte Wade Jr. SFG OF 449.6 1.0 5.75 230 131 0.13
Jorge Alfaro SDP C 451.0 0.4 2.08 330 311 0.03
Joey Wendle MIA IF 452.6 1.4 5.50 178 140 0.17
David Fletcher LAA 2B 455.1 1.4 4.23 172 192 0.21
Tony Kemp OAK OF,Oth 461.1 1.6 5.50 161 139 0.28
Dominic Smith NYM OF,Oth 462.2 0.6 3.00 286 263 0.04
Hunter Dozier KCR OF,Oth 469.7 0.6 3.99 287 204 0.05
Darin Ruf SFG OF,Oth 471.1 1.0 4.70 225 164 0.13
Yoshi Tsutsugo PIT OF,Oth 476.4 0.4 3.47 340 230 0.02
Luis Torrens SEA C 477.0 0.6 2.81 295 275 0.08
Kyle Lewis SEA OF 481.5 1.1 3.06 217 257 0.21
Jacob Stallings MIA C 482.9 2.2 3.05 102 260 0.67
Kyle Higashioka NYY C 484.7 1.0 2.05 229 313 0.23
Vidal Bruján 0 OF,Oth 485.0 0.8 NA 261 -49 0.10
Paul DeJong STL SS 489.1 2.1 4.44 115 181 0.35
MJ Melendez KCR C 491.5 0.4 NA 335 -36 0.06
Lorenzo Cain MIL OF 495.7 1.5 4.95 167 158 0.26
Tyler Wade LAA IF 496.3 0.4 2.54 339 292 0.03
Yan Gomes CHC C 497.6 1.5 2.99 171 264 0.42
J.P. Crawford SEA SS 501.4 2.4 5.21 83 146 0.44
Willie Calhoun TEX OF 503.9 0.2 3.06 394 258 0.00
Yandy Díaz TBR IF 505.7 1.6 4.51 162 176 0.26
Victor Robles WSN OF 506.8 1.0 2.51 234 294 0.16
David Peralta ARI OF 507.8 1.1 4.44 210 180 0.18
Pavin Smith ARI OF,Oth 508.7 0.6 4.55 299 173 0.06
Eric Hosmer SDP 1B 511.0 0.4 4.67 324 167 0.02
Tucker Barnhart DET C 511.5 1.2 2.40 206 299 0.33
Joc Pederson SFG OF 515.8 0.9 4.47 245 178 0.11
Ryan Jeffers MIN C 516.0 1.6 2.97 159 266 0.43
Kevin Smith OAK 3B 516.2 1.1 NA 214 -27 0.12
Miguel Rojas MIA SS 516.9 2.3 5.31 94 143 0.38
Christian Walker ARI 1B 521.5 0.7 3.78 263 212 0.08
Clint Frazier CHC OF 522.4 0.4 2.10 322 310 0.01
Seth Brown OAK OF 523.6 0.6 5.89 301 123 0.08
Evan Longoria SFG 3B 523.8 1.3 4.13 189 194 0.20
Jake Fraley CIN OF 526.0 0.9 3.55 244 228 0.10
Garrett Cooper MIA OF,Oth 527.0 1.2 5.16 197 148 0.16
Sam Hilliard COL OF 527.5 0.4 4.62 336 170 0.02
Brian Anderson MIA OF,Oth 527.7 1.8 4.06 135 198 0.28
Aaron Hicks NYY OF 529.6 1.6 2.44 153 297 0.27
Francisco Mejía TBR C 530.9 1.1 2.64 211 288 0.31
Nick Solak TEX 2B 531.3 0.6 3.28 298 241 0.08
Chas McCormick HOU OF 535.7 1.1 4.05 209 199 0.20
Robinson Canó NYM 2B 536.2 0.3 NA 357 -42 0.03
Bobby Bradley CLE 1B 537.0 0.5 4.33 304 187 0.03
Didi Gregorius PHI SS 537.5 0.9 3.20 240 246 0.06
Dylan Moore SEA OF,Oth 539.0 0.5 1.67 310 332 0.05
Brad Miller TEX IF 540.6 1.5 4.51 164 177 0.17
Rougned Odor BAL 2B 540.9 0.7 3.46 272 231 0.09
Carlos Santana KCR 1B 541.1 0.7 3.75 262 215 0.09
Jarren Duran 0 OF 541.9 0.4 1.94 327 318 0.03
José Iglesias COL SS 542.3 1.0 4.37 228 184 0.14
J.D. Davis NYM OF,Oth 542.7 0.9 3.04 243 261 0.09
Kyle Farmer CIN SS 542.9 1.1 4.06 216 197 0.10
Gavin Sheets CHW OF 544.5 0.5 4.03 312 201 0.09
Edmundo Sosa STL IF 544.9 1.4 3.45 173 232 0.16
Nico Hoerner CHC IF 545.4 1.5 3.06 169 259 0.15
Bradley Zimmer CLE OF 545.6 0.6 2.77 282 279 0.07
Michael A. Taylor KCR OF 546.5 1.2 4.12 203 196 0.21
Ramón Urías BAL IF 548.1 1.5 4.34 170 186 0.18
Tyrone Taylor MIL OF 548.7 1.0 3.60 233 222 0.15
Kole Calhoun TEX OF 549.1 1.1 3.31 215 239 0.17
Pedro Severino MIL C 552.0 0.6 1.24 300 355 0.20
Seth Beer ARI 1B 554.4 0.4 NA 338 -45 0.01
Tom Murphy SEA C 555.3 1.2 1.80 205 324 0.30
Jose Barrero CIN SS 557.0 0.9 1.21 247 357 0.11
Andy Ibáñez TEX 2B 557.1 1.5 3.76 163 213 0.28
Miguel Cabrera DET DH 557.1 -0.4 3.48 518 229 0.00
Kyle Isbel KCR OF 561.5 0.4 2.86 332 273 0.03
Jurickson Profar SDP OF,Oth 561.9 0.3 3.17 349 249 0.02
Leury García CHW OF 564.0 0.7 3.17 268 250 0.07
Roberto Pérez PIT C 565.8 1.3 2.39 195 301 0.34
Jonah Heim TEX C 568.3 1.0 1.63 227 334 0.19
Cristian Pache OAK OF 571.0 0.8 1.13 254 359 0.10
Tommy La Stella SFG 2B 571.1 1.1 3.21 221 244 0.14
Justin Upton LAA OF 573.6 0.1 2.30 424 303 0.00
Bryan De La Cruz 0 OF 574.0 0.6 2.14 283 308 0.07
Matt Vierling PHI OF,Oth 575.6 0.6 3.12 297 251 0.05
Edward Olivares KCR OF 576.0 0.3 1.67 345 331 0.00
Elvis Andrus OAK SS 576.0 0.9 3.07 242 256 0.06
Colin Moran CIN IF 576.1 -0.1 3.22 500 243 -0.01
Martín Maldonado HOU C 576.1 1.2 1.98 202 315 0.26
Edwin Ríos LAD IF 576.3 0.2 0.33 372 445 -0.01
Santiago Espinal TOR 3B 578.2 0.7 3.08 273 255 0.07
Alek Thomas ARI OF 579.8 0.9 NA 236 -2 0.13
Corey Dickerson STL OF 580.7 0.1 3.02 403 262 -0.01
Cal Raleigh SEA C 581.3 0.8 0.66 252 398 0.15
Chad Pinder OAK OF 581.6 0.5 3.83 306 211 0.03
Anthony Alford PIT OF 581.9 -0.1 2.95 498 269 -0.02
Carter Kieboom WSN 3B 582.2 0.8 1.86 253 321 0.09
Willi Castro DET IF 582.4 0.3 0.90 363 378 0.01
Niko Goodrum HOU SS 582.9 0.7 2.68 269 284 0.05
Jace Peterson MIL OF,Oth 583.0 0.2 2.19 375 306 0.01
Jose Siri HOU OF 583.0 0.4 NA 331 -24 0.01
Manny Piña ATL C 583.6 1.2 2.27 201 305 0.28
Aledmys Díaz HOU IF 583.7 0.9 2.59 235 290 0.07
Josh Naylor CLE OF 584.1 0.6 3.18 291 247 0.03
Maikel Franco WSN 3B 584.7 0.1 1.61 425 338 0.00
Jed Lowrie OAK IF 584.8 0.4 3.42 328 233 0.04
Ji-Man Choi TBR 1B 585.0 0.7 4.23 266 193 0.07
Austin Slater SFG OF 585.2 1.0 3.32 224 238 0.14
Trevor Larnach MIN OF 585.7 0.2 1.78 392 328 0.00
Michael Chavis PIT IF 586.7 0.0 2.71 481 281 -0.01
Ben Gamel PIT OF 586.8 0.8 3.75 251 214 0.12
Matt Duffy LAA 3B 587.2 0.6 2.57 296 291 0.06
Lars Nootbaar STL OF 587.3 0.2 2.96 382 268 -0.01
Austin Hedges CLE C 587.6 0.5 1.95 303 317 0.08
Jon Berti MIA OF,Oth 587.7 0.6 1.48 289 347 0.03
Matt Beaty SDP OF,Oth 587.7 0.2 2.75 385 280 0.00
Cole Tucker PIT OF,Oth 587.8 0.3 2.06 344 312 0.03
Kevin Kiermaier TBR OF 587.9 1.2 3.91 200 207 0.22
Kevin Plawecki BOS C 588.2 0.7 1.63 267 335 0.13
Luis García WSN 2B 588.6 0.6 2.66 294 286 0.09
Daniel Vogelbach PIT 1B 588.7 0.6 2.70 285 282 0.04
Victor Caratini SDP C 589.1 0.7 1.09 278 361 0.11
Jackie Bradley Jr. BOS OF 589.5 0.2 1.78 376 327 0.00
Albert Pujols STL 1B 589.8 -0.4 1.86 517 320 0.00
Aristides Aquino CIN OF 589.9 0.4 2.86 321 274 0.01
Riley Adams WSN C 591.6 0.8 1.62 259 337 0.15
Alcides Escobar WSN SS 591.7 0.2 4.38 368 183 0.01
Odúbel Herrera PHI OF 591.7 0.9 3.87 249 209 0.14
Dom Nuñez COL C 592.0 0.5 2.02 308 314 0.07
Harold Ramirez TBR OF 592.0 0.0 1.55 461 341 -0.01
Leody Taveras 0 OF 592.2 0.6 1.00 293 371 0.06
William Contreras ATL C 592.5 0.2 0.50 393 420 0.02
Curt Casali SFG C 592.6 0.9 1.50 239 344 0.18
Nick Gordon MIN OF 592.7 0.3 1.44 353 349 0.01
Mickey Moniak PHI OF 593.3 0.0 NA 483 -35 -0.02
Victor Reyes DET OF 593.6 0.5 2.51 319 295 0.01
Andrelton Simmons CHC SS 593.7 1.0 1.55 223 340 0.08
Austin Barnes LAD C 593.8 0.8 1.54 250 342 0.16
Robinson Chirinos BAL C 594.5 0.7 2.18 271 307 0.14
Kevin Newman PIT SS 594.8 0.6 2.42 292 298 0.04
Taylor Walls TBR SS 594.8 1.0 1.70 232 329 0.12
Eric Thames OAK OF,Oth 595.1 0.0 NA 458 -11 -0.01
Mauricio Dubón SFG OF,Oth 595.2 0.4 1.30 333 354 0.03
Oscar Mercado CLE OF 595.2 0.5 2.32 318 302 0.04
Geraldo Perdomo ARI SS 595.5 0.4 NA 325 -15 0.01
Lewin Díaz 0 1B 595.6 0.3 1.79 350 325 0.01
Yu Chang CLE IF 595.6 0.6 2.97 302 267 0.02
Thairo Estrada SFG IF 595.8 0.7 2.68 276 283 0.05
Stephen Piscotty OAK OF 595.9 -0.2 2.39 516 300 -0.01
Nick Ahmed ARI SS 596.2 1.0 2.97 231 265 0.09
Kevin Pillar LAD OF 596.3 0.5 2.67 315 285 0.03
Yadiel Hernandez WSN OF 596.3 0.1 3.72 442 217 -0.01
Jake Meyers HOU OF 596.5 1.2 4.79 198 162 0.20
Brett Phillips TBR OF 596.6 0.3 2.28 341 304 0.00
Khalil Lee 0 OF 596.7 0.0 NA 472 -28 -0.01
Greg Allen PIT OF 597.4 0.2 NA 374 -16 0.01
Donovan Solano CIN 2B 597.5 0.5 2.51 309 293 0.04
Jose Trevino TEX C 597.6 0.2 0.99 377 372 0.04
Andrew Stevenson WSN OF 597.8 -0.2 0.71 514 393 -0.01
Jason Heyward CHC OF 597.8 1.0 2.65 226 287 0.11
Jake Burger CHW 3B 598.1 0.1 NA 419 -19 0.01
Christian Arroyo BOS 2B 598.2 0.3 1.89 343 319 0.03
Kurt Suzuki LAA C 598.2 0.2 0.86 381 384 0.02
Miguel Andújar NYY OF 598.3 0.0 0.75 484 389 -0.02
Phil Gosselin 0 OF 598.4 0.0 0.46 486 425 -0.01
Brett Gardner 0 OF 598.6 0.5 1.96 305 316 0.04
Kelvin Gutierrez BAL 3B 598.6 0.2 1.51 379 343 0.02
Andrew Knizner STL C 598.9 0.6 0.71 279 394 0.09
Adam Engel CHW OF 599.0 0.4 2.79 320 276 0.06
Michael Hermosillo CHC OF 599.0 0.3 NA 352 -33 0.00
Travis Swaggerty 0 OF 599.0 0.3 NA 362 -47 0.03
Alex Dickerson ATL OF 599.2 0.2 2.61 369 289 0.00
Billy McKinney 0 OF 599.2 0.1 0.68 398 397 -0.02
Matt Carpenter 0 3B 599.4 0.0 0.60 479 408 0.00
Jason Castro HOU C 599.5 0.8 1.65 255 333 0.17
Taylor Ward LAA OF 599.5 0.7 3.17 275 248 0.02
Nick Fortes 0 C 599.6 0.2 NA 387 -38 0.02
Renato Núñez 0 1B 599.6 0.1 0.69 432 395 -0.01
Colton Welker COL IF 599.7 0.1 NA 402 -8 0.00
Mike Brosseau MIL IF 599.7 0.5 1.83 317 322 0.05
Steven Duggar SFG OF 599.7 0.7 3.55 274 227 0.08
Zach McKinstry 0 OF,Oth 599.7 -0.1 0.76 513 388 -0.01
Aramis Garcia CIN C 599.8 0.1 0.66 396 399 0.00
Sheldon Neuse OAK 2B 599.8 0.3 1.49 359 346 0.01
Josh VanMeter ARI OF,Oth 599.9 0.2 0.66 378 400 0.00
Matt Thaiss LAA IF 599.9 0.1 NA 427 -32 -0.01
Brent Rooker MIN OF 600.0 0.2 1.81 371 323 0.00
Hanser Alberto LAD IF 600.0 0.3 1.35 348 351 0.02
Ryan O'Hearn KCR 1B 600.0 0.0 0.94 488 376 -0.01
Austin Allen OAK C 600.1 0.6 NA 280 -4 0.10
Reese McGuire TOR C 600.1 0.3 0.72 356 391 0.02
David Dahl MIL OF 600.2 0.0 0.14 455 463 -0.02
Garrett Stubbs PHI C,Oth 600.2 0.2 NA 373 -14 0.00
Stephen Vogt OAK C 600.2 -0.1 1.33 510 353 0.03
Tim Locastro NYY OF 600.2 0.1 0.65 437 401 -0.01
Zack Collins CHW C 600.2 0.3 0.64 366 403 0.09
Marwin Gonzalez NYY IF 600.3 0.1 0.54 426 418 -0.01
Owen Miller CLE IF 600.3 0.2 1.02 388 368 0.00
Tomás Nido NYM C 600.3 0.3 1.07 361 364 0.03
Billy Hamilton 0 OF 600.4 -0.1 0.47 499 424 -0.01
Harold Castro DET OF,Oth 600.4 0.0 1.22 460 356 -0.01
Willians Astudillo MIA IF 600.4 0.1 0.33 441 444 -0.01
Cam Gallagher KCR C 600.5 0.3 0.43 342 432 0.05
David Bote CHC IF 600.5 0.4 0.87 323 383 0.05
Eli White TEX OF 600.5 0.1 0.90 410 379 -0.01
Hoy Park PIT 2B 600.5 0.5 1.40 313 350 0.06
Isaac Paredes DET 3B 600.5 0.4 0.59 326 412 0.04
Isan Díaz 0 IF 600.5 0.1 0.19 416 457 0.00
Jacob Nottingham BAL C 600.5 0.1 NA 418 -18 0.01
Luis Rengifo LAA 2B 600.5 0.3 0.77 351 386 0.04
Ryan Vilade 0 OF 600.5 -0.1 NA 508 -44 -0.01
Starlin Castro 0 IF 600.5 0.3 1.07 360 365 0.03
Yonathan Daza COL OF 600.5 0.0 1.34 494 352 -0.02
Brian Goodwin 0 OF 600.6 0.1 1.49 399 345 -0.01
Max Schrock CIN OF 600.6 0.0 1.05 480 366 -0.02
Nomar Mazara SDP OF 600.6 0.1 0.90 429 380 -0.01
Sergio Alcántara ARI IF 600.6 0.4 1.45 337 348 0.02
Asdrúbal Cabrera CIN IF 600.7 0.0 1.56 447 339 0.00
Daz Cameron 0 OF 600.7 0.1 0.61 406 407 -0.01
Jordan Luplow ARI OF 600.7 0.8 3.35 256 235 0.10
Jose Rojas LAA OF 600.7 0.0 0.96 469 375 0.00
Travis Shaw 0 3B 600.7 0.0 0.80 491 385 0.00
Charlie Culberson 0 OF,Oth 600.8 0.1 1.08 400 363 -0.02
Gabriel Arias CLE SS 600.8 0.3 NA 346 -13 0.03
Jake Bauers CIN OF,Oth 600.8 0.0 0.16 463 462 -0.01
Jake Rogers DET C 600.8 0.1 0.45 421 429 0.04
John Nogowski ATL 1B 600.8 0.0 0.17 468 461 -0.01
José Peraza NYY IF 600.8 0.1 0.40 423 437 -0.01
Orlando Arcia ATL SS 600.8 0.3 1.00 354 370 0.03
Shogo Akiyama CIN OF 600.8 -0.1 0.29 509 446 -0.02
Adam Haseley CHW OF 600.9 0.0 NA 444 0 -0.01
Andrew Knapp CIN C 600.9 -0.1 0.17 497 460 0.00
Andrew Velazquez LAA SS 600.9 0.1 0.75 395 390 0.02
Chris Owings 0 IF 600.9 0.0 0.92 450 377 -0.02
DJ Stewart BAL OF 600.9 0.5 2.11 307 309 0.02
Estevan Florial 0 OF 600.9 0.1 NA 413 -12 -0.01
Evan White SEA 1B 600.9 0.0 0.17 459 459 -0.01
Johan Camargo PHI IF 600.9 0.4 NA 329 -22 0.04
Lewis Brinson 0 OF 600.9 0.0 0.50 475 421 -0.02
Michael Perez PIT C 600.9 0.4 0.88 334 381 0.06
Mitch Moreland 0 1B 600.9 0.2 1.62 386 336 0.00
Ronald Torreyes PHI IF 600.9 -0.1 0.44 507 430 0.00
Seby Zavala CHW C 600.9 0.0 0.62 489 406 0.00
Skye Bolt OAK OF 600.9 0.2 0.38 391 439 0.00
Taylor Trammell 0 OF 600.9 0.0 0.38 490 441 -0.02
TJ Friedl 0 OF 600.9 0.1 NA 438 -46 -0.01
Yonny Hernandez TEX 3B 600.9 0.3 0.50 365 422 0.03
Chance Sisco 0 C 601.0 0.0 0.08 449 465 0.01
Jack Mayfield LAA IF 601.0 0.1 1.08 417 362 0.00
Jahmai Jones 0 2B 601.0 0.0 0.21 462 454 -0.01
Jake McCarthy ARI OF 601.0 0.0 2.87 464 272 -0.02
Luke Raley TBR OF 601.0 0.0 0.41 477 435 -0.01
Wilson Ramos 0 C 601.0 0.3 0.63 364 404 0.05
Adam Eaton 0 OF 999.0 0.2 1.16 367 358 -0.01
Alan Trejo COL IF 999.0 0.0 0.38 445 440 -0.01
Alex Blandino 0 IF 999.0 -0.1 0.22 496 453 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 446 -3 -0.02
Austin Romine 0 C 999.0 0.1 0.20 397 455 0.01
Ben Rortvedt NYY C 999.0 0.6 0.98 281 373 0.22
Brennen Davis CHC OF 999.0 0.2 NA 370 -5 0.01
Brock Holt ATL IF 999.0 0.0 0.54 448 416 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 451 -6 -0.02
Cody Thomas 0 OF 999.0 0.1 NA 401 -7 0.00
Curtis Terry MIN DH 999.0 0.1 NA 404 -9 -0.01
Daniel Johnson CLE OF 999.0 0.0 0.38 452 438 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.24 453 451 -0.01
Danny Mendick CHW IF 999.0 0.1 0.44 405 431 0.00
Danny Santana 0 OF,Oth 999.0 0.0 0.42 454 434 -0.01
Delino DeShields MIA OF 999.0 0.0 0.24 456 450 -0.01
Derek Hill DET OF 999.0 0.1 0.87 407 382 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 501 -10 -0.02
Drew Ellis ARI 3B 999.0 0.1 0.42 408 433 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.78 409 326 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.77 411 387 0.01
Eric Sogard 0 2B 999.0 0.0 0.54 457 417 -0.01
Ernie Clement CLE IF 999.0 0.1 0.60 412 410 0.00
Gilberto Celestino MIN OF 999.0 0.1 0.18 414 458 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.12 502 360 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 415 -17 -0.01
Jake Cave MIN OF 999.0 -0.1 0.50 503 419 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.01 420 369 -0.01
Jared Oliva 0 OF 999.0 0.0 NA 465 -20 -0.01
Jarrod Dyson 0 OF 999.0 0.0 0.57 466 414 -0.01
Joe Panik 0 2B 999.0 0.0 0.57 467 413 -0.01
José Devers MIA IF 999.0 0.1 NA 422 -23 -0.01
Josh Palacios 0 OF 999.0 0.0 NA 470 -26 -0.01
Juan Lagares 0 OF 999.0 0.0 0.68 471 396 -0.02
Khris Davis 0 OF 999.0 0.0 0.72 473 392 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.60 474 409 -0.02
Luis Barrera 0 OF 999.0 0.0 NA 476 -29 -0.01
Luis Campusano SDP C 999.0 0.5 NA 316 -30 0.07
Luis Guillorme NYM IF 999.0 0.2 0.56 383 415 0.01
Luke Maile CLE C 999.0 0.2 NA 384 -31 0.00
Luke Williams SFG OF 999.0 0.0 0.46 478 427 -0.02
Magneuris Sierra LAA OF 999.0 -0.2 0.28 515 448 0.00
Matt Joyce PHI OF 999.0 -0.1 0.26 504 449 -0.01
Micker Adolfo CHW OF 999.0 0.0 NA 482 -34 -0.02
Nick Allen 0 SS 999.0 0.1 NA 428 -37 0.01
Nick Maton PHI IF 999.0 0.0 0.59 485 411 -0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.34 430 443 -0.01
Patrick Mazeika 0 C 999.0 0.1 0.12 431 464 0.01
Payton Henry MIA C 999.0 0.2 NA 389 -40 0.02
Richie Martin BAL SS 999.0 -0.1 0.45 505 428 0.00
Rob Refsnyder BOS OF 999.0 0.0 0.40 487 436 -0.02
Rodolfo Castro 0 2B 999.0 0.1 0.37 433 442 0.00
Roman Quinn 0 OF 999.0 -0.1 0.23 506 452 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 434 -43 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.28 435 447 -0.01
Sandy León CLE C 999.0 0.3 0.65 358 402 0.00
Shed Long Jr. BAL OF,Oth 999.0 0.2 1.02 390 367 0.00
Taylor Jones HOU 1B 999.0 0.1 0.48 436 423 -0.01
Travis Jankowski NYM OF 999.0 -0.1 0.62 511 405 -0.02
Tres Barrera WSN C 999.0 0.1 0.46 439 426 0.02
Tyler Nevin BAL OF,Oth 999.0 0.0 NA 492 -48 -0.01
Vimael Machín 0 IF 999.0 0.1 NA 440 -50 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.98 512 374 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.0 NA 493 -51 -0.01
Zach Reks 0 OF 999.0 0.0 NA 495 -52 -0.02
Zack Short 0 SS 999.0 0.1 0.20 443 456 0.01

1B

WAR Ranks are for the position, and Pos_Rank is based on Model Score , and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Vladimir Guerrero Jr. TOR IF 4.5 5.5 10.04 1 1 0.88
Freddie Freeman LAD 1B 17.9 5.1 9.69 2 3 0.86
Matt Olson ATL 1B 34.9 4.3 9.12 3 4 0.81
Pete Alonso NYM 1B 46.3 3.5 9.02 5 5 0.76
Paul Goldschmidt STL 1B 47.6 3.5 9.88 4 2 0.72
José Abreu CHW 1B 79.9 2.1 8.25 13 6 0.46
Max Muncy LAD IF 118.7 3.2 7.61 6 12 0.68
Rhys Hoskins PHI OF,Oth 118.9 3.1 7.95 7 9 0.64
Jared Walsh LAA 1B 120.7 2.3 7.58 11 13 0.52
C.J. Cron COL 1B 123.9 1.6 7.57 21 14 0.32
Ryan Mountcastle BAL OF,Oth 124.3 1.6 7.82 22 10 0.26
DJ LeMahieu NYY IF 131.9 2.3 4.90 10 27 0.38
Josh Bell WSN 1B 133.9 1.9 7.28 16 15 0.44
Joey Votto CIN 1B 142.7 1.9 8.17 14 7 0.41
Ty France SEA 1B 162.4 2.4 6.85 9 17 0.57
Anthony Rizzo NYY 1B 187.6 2.2 6.88 12 16 0.49
Alex Kirilloff MIN OF,Oth 189.1 1.6 5.12 19 26 0.24
Yuli Gurriel HOU 1B 211.5 1.4 6.51 26 19 0.19
Bobby Dalbec BOS 1B 218.8 1.7 5.94 18 22 0.35
Luke Voit SDP 1B 220.0 1.3 4.70 27 29 0.17
Trey Mancini BAL OF,Oth 221.5 1.4 5.79 25 23 0.21
Jonathan Schoop DET IF 222.2 1.9 6.53 15 18 0.37
Brandon Belt SFG 1B 244.7 2.5 7.66 8 11 0.61
Frank Schwindel CHC 1B 248.1 0.7 8.15 36 8 0.10
Nathaniel Lowe TEX 1B 248.9 1.8 6.39 17 20 0.39
Miguel Sanó MIN IF 274.7 0.8 6.35 31 21 0.08
Jesús Aguilar MIA 1B 306.2 1.1 5.25 29 24 0.14
Connor Joe COL OF,Oth 364.2 0.7 4.26 35 35 0.07
Austin Nola SDP C,Oth 379.4 1.6 2.78 20 45 0.21
Rowdy Tellez MIL 1B 386.7 0.8 3.63 32 39 0.12
Dominic Smith NYM OF,Oth 462.2 0.6 3.00 39 43 0.04
Darin Ruf SFG OF,Oth 471.1 1.0 4.70 30 28 0.13
Yoshi Tsutsugo PIT OF,Oth 476.4 0.4 3.47 46 40 0.02
Yandy Díaz TBR IF 505.7 1.6 4.51 23 32 0.26
Pavin Smith ARI OF,Oth 508.7 0.6 4.55 41 31 0.06
Eric Hosmer SDP 1B 511.0 0.4 4.67 44 30 0.02
Christian Walker ARI 1B 521.5 0.7 3.78 34 37 0.08
Garrett Cooper MIA OF,Oth 527.0 1.2 5.16 28 25 0.16
Bobby Bradley CLE 1B 537.0 0.5 4.33 43 34 0.03
Brad Miller TEX IF 540.6 1.5 4.51 24 33 0.17
Carlos Santana KCR 1B 541.1 0.7 3.75 33 38 0.09
Seth Beer ARI 1B 554.4 0.4 NA 45 -4 0.01
Matt Vierling PHI OF,Oth 575.6 0.6 3.12 40 42 0.05
Colin Moran CIN IF 576.1 -0.1 3.22 67 41 -0.01
Edwin Ríos LAD IF 576.3 0.2 0.33 48 58 -0.01
Ji-Man Choi TBR 1B 585.0 0.7 4.23 37 36 0.07
Michael Chavis PIT IF 586.7 0.0 2.71 63 47 -0.01
Matt Beaty SDP OF,Oth 587.7 0.2 2.75 49 46 0.00
Daniel Vogelbach PIT 1B 588.7 0.6 2.70 38 48 0.04
Albert Pujols STL 1B 589.8 -0.4 1.86 68 49 0.00
Eric Thames OAK OF,Oth 595.1 0.0 NA 59 -2 -0.01
Lewin Díaz 0 1B 595.6 0.3 1.79 47 50 0.01
Yu Chang CLE IF 595.6 0.6 2.97 42 44 0.02
Renato Núñez 0 1B 599.6 0.1 0.69 54 54 -0.01
Colton Welker COL IF 599.7 0.1 NA 52 -1 0.00
Matt Thaiss LAA IF 599.9 0.1 NA 53 -3 -0.01
Ryan O'Hearn KCR 1B 600.0 0.0 0.94 64 53 -0.01
Owen Miller CLE IF 600.3 0.2 1.02 51 52 0.00
Willians Astudillo MIA IF 600.4 0.1 0.33 56 57 -0.01
Jake Bauers CIN OF,Oth 600.8 0.0 0.16 61 62 -0.01
John Nogowski ATL 1B 600.8 0.0 0.17 62 61 -0.01
Evan White SEA 1B 600.9 0.0 0.17 60 60 -0.01
Mitch Moreland 0 1B 600.9 0.2 1.62 50 51 0.00
Alex Blandino 0 IF 999.0 -0.1 0.22 66 59 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 57 0 -0.02
Danny Santana 0 OF,Oth 999.0 0.0 0.42 58 56 -0.01
Taylor Jones HOU 1B 999.0 0.1 0.48 55 55 -0.01
Tyler Nevin BAL OF,Oth 999.0 0.0 NA 65 -5 -0.01

2B

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Ozzie Albies ATL 2B 18 4.1 9.11 3 3 0.88
Whit Merrifield KCR OF,Oth 34 2.3 7.07 16 10 0.42
Marcus Semien TEX IF 40 4.7 10.24 1 1 0.85
Jose Altuve HOU 2B 75 3.8 8.99 5 4 0.81
Brandon Lowe TBR 2B 78 4.4 8.43 2 6 0.92
Ketel Marte ARI IF 79 3.7 8.17 6 7 0.65
Jorge Polanco MIN IF 80 3.1 9.17 9 2 0.56
Jazz Chisholm Jr. MIA IF 81 1.8 6.72 22 13 0.28
Jonathan India CIN 2B 92 3.8 8.61 4 5 0.84
Tommy Edman STL 2B 97 2.3 5.94 15 18 0.54
Max Muncy LAD IF 119 3.2 7.61 8 8 0.68
Jake Cronenworth SDP 2B 129 3.3 7.41 7 9 0.74
DJ LeMahieu NYY IF 132 2.3 4.90 14 25 0.38
Ryan McMahon COL IF 155 2.0 6.71 18 14 0.32
Gleyber Torres NYY IF 162 2.4 4.56 12 30 0.45
Brendan Rodgers COL IF 167 1.6 6.07 27 17 0.23
Kolten Wong MIL 2B 198 2.5 7.00 11 11 0.63
Jean Segura PHI IF 211 2.4 6.84 13 12 0.40
Jonathan Schoop DET IF 222 1.9 6.53 20 16 0.37
Enrique Hernández BOS OF,Oth 226 2.8 6.70 10 15 0.53
Jonathan Villar CHC IF 238 1.2 4.95 41 24 0.13
Nicky Lopez KCR IF 265 1.8 5.58 24 20 0.26
Gavin Lux LAD IF 268 1.7 4.25 26 34 0.19
Andrés Giménez CLE IF 284 1.8 3.56 21 37 0.24
Josh Rojas ARI OF,Oth 312 1.3 4.65 40 28 0.27
Jeff McNeil NYM OF,Oth 328 1.9 4.33 19 33 0.38
Cavan Biggio TOR 2B 342 1.3 3.20 38 44 0.20
Ha-Seong Kim SDP IF 369 1.5 3.10 30 47 0.20
Garrett Hampson COL OF,Oth 369 0.3 3.12 63 46 0.01
Luis Arraez MIN IF 378 1.5 4.46 31 31 0.22
Jorge Mateo BAL OF,Oth 385 0.5 3.34 54 41 0.04
Nick Madrigal CHC 2B 390 1.8 4.57 23 29 0.41
Keston Hiura MIL 2B 393 0.2 1.68 73 60 0.01
Josh Harrison CHW 2B 396 1.3 4.66 39 27 0.15
Mike Moustakas CIN IF 411 0.9 2.91 45 49 0.10
Abraham Toro SEA IF 415 1.1 2.89 42 50 0.16
Adam Frazier SEA OF,Oth 420 2.1 5.75 17 19 0.41
César Hernández WSN 2B 441 1.7 5.01 25 23 0.37
Wilmer Flores SFG 2B 445 1.4 4.70 37 26 0.16
Joey Wendle MIA IF 453 1.4 5.50 36 22 0.17
David Fletcher LAA 2B 455 1.4 4.23 34 35 0.21
Tony Kemp OAK OF,Oth 461 1.6 5.50 28 21 0.28
Vidal Bruján 0 OF,Oth 485 0.8 NA 46 -3 0.10
Tyler Wade LAA IF 496 0.4 2.54 61 55 0.03
Nick Solak TEX 2B 531 0.6 3.28 50 42 0.08
Robinson Canó NYM 2B 536 0.3 NA 67 -2 0.03
Dylan Moore SEA OF,Oth 539 0.5 1.67 52 61 0.05
Rougned Odor BAL 2B 541 0.7 3.46 47 38 0.09
Edmundo Sosa STL IF 545 1.4 3.45 35 39 0.16
Nico Hoerner CHC IF 545 1.5 3.06 32 48 0.15
Ramón Urías BAL IF 548 1.5 4.34 33 32 0.18
Andy Ibáñez TEX 2B 557 1.5 3.76 29 36 0.28
Jurickson Profar SDP OF,Oth 562 0.3 3.17 65 45 0.02
Tommy La Stella SFG 2B 571 1.1 3.21 43 43 0.14
Willi Castro DET IF 582 0.3 0.90 70 73 0.01
Jace Peterson MIL OF,Oth 583 0.2 2.19 71 57 0.01
Aledmys Díaz HOU IF 584 0.9 2.59 44 54 0.07
Jed Lowrie OAK IF 585 0.4 3.42 57 40 0.04
Michael Chavis PIT IF 587 0.0 2.71 91 51 -0.01
Luis García WSN 2B 589 0.6 2.66 49 53 0.09
Mauricio Dubón SFG OF,Oth 595 0.4 1.30 59 66 0.03
Thairo Estrada SFG IF 596 0.7 2.68 48 52 0.05
Donovan Solano CIN 2B 598 0.5 2.51 51 56 0.04
Christian Arroyo BOS 2B 598 0.3 1.89 62 58 0.03
Mike Brosseau MIL IF 600 0.5 1.83 55 59 0.05
Zach McKinstry 0 OF,Oth 600 -0.1 0.76 95 76 -0.01
Sheldon Neuse OAK 2B 600 0.3 1.49 68 62 0.01
Josh VanMeter ARI OF,Oth 600 0.2 0.66 72 77 0.00
Hanser Alberto LAD IF 600 0.3 1.35 64 65 0.02
Owen Miller CLE IF 600 0.2 1.02 75 70 0.00
Harold Castro DET OF,Oth 600 0.0 1.22 88 67 -0.01
David Bote CHC IF 600 0.4 0.87 56 74 0.05
Hoy Park PIT 2B 600 0.5 1.40 53 64 0.06
Isan Díaz 0 IF 600 0.1 0.19 79 91 0.00
Luis Rengifo LAA 2B 600 0.3 0.77 66 75 0.04
Starlin Castro 0 IF 600 0.3 1.07 69 68 0.03
Sergio Alcántara ARI IF 601 0.4 1.45 60 63 0.02
José Peraza NYY IF 601 0.1 0.40 81 85 -0.01
Chris Owings 0 IF 601 0.0 0.92 85 72 -0.02
Johan Camargo PHI IF 601 0.4 NA 58 0 0.04
Jahmai Jones 0 2B 601 0.0 0.21 89 90 -0.01
Alan Trejo COL IF 999 0.0 0.38 83 86 -0.01
Alex Blandino 0 IF 999 -0.1 0.22 93 89 -0.01
Brock Holt ATL IF 999 0.0 0.54 84 82 -0.02
Daniel Robertson MIN IF 999 0.0 0.24 86 88 -0.01
Danny Mendick CHW IF 999 0.1 0.44 77 84 0.00
Eric Sogard 0 2B 999 0.0 0.54 87 83 -0.01
Ernie Clement CLE IF 999 0.1 0.60 78 78 0.00
Joe Panik 0 2B 999 0.0 0.57 90 80 -0.01
José Devers MIA IF 999 0.1 NA 80 -1 -0.01
Luis Guillorme NYM IF 999 0.2 0.56 74 81 0.01
Nick Maton PHI IF 999 0.0 0.59 92 79 -0.01
Rodolfo Castro 0 2B 999 0.1 0.37 82 87 0.00
Shed Long Jr. BAL OF,Oth 999 0.2 1.02 76 69 0.00
Wilmer Difo ARI IF 999 -0.1 0.98 94 71 0.00

3B

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
José Ramírez CLE 3B 3.2 6.0 9.85 1 2 0.94
Vladimir Guerrero Jr. TOR IF 4.5 5.5 10.04 2 1 0.88
Rafael Devers BOS 3B 13.3 4.8 9.68 3 3 0.84
Manny Machado SDP 3B 22.6 4.6 9.01 4 4 0.79
Austin Riley ATL 3B 53.1 3.1 8.52 13 6 0.46
Kris Bryant COL OF,Oth 63.3 2.4 8.52 15 5 0.36
Nolan Arenado STL 3B 71.3 3.7 8.09 8 7 0.66
Alex Bregman HOU 3B 89.4 4.5 6.62 5 11 0.74
Anthony Rendon LAA 3B 108.7 4.3 4.12 6 27 0.70
DJ LeMahieu NYY IF 131.9 2.3 4.90 17 23 0.38
Justin Turner LAD 3B 147.6 3.0 7.19 14 8 0.43
Ryan McMahon COL IF 154.7 2.0 6.71 19 10 0.32
Ke'Bryan Hayes PIT 3B 156.7 3.3 5.09 11 20 0.53
Yoán Moncada CHW 3B 161.4 3.4 6.23 9 15 0.59
Matt Chapman TOR 3B 167.9 3.7 5.59 7 18 0.63
Josh Donaldson NYY 3B 179.7 3.3 5.88 10 16 0.56
Eduardo Escobar NYM IF 204.2 1.9 7.06 20 9 0.30
Eugenio Suárez SEA 3B 213.8 2.0 5.05 18 21 0.34
Luis Urías MIL IF 223.7 2.4 6.38 16 12 0.41
Jeimer Candelario DET 3B 247.8 3.2 6.26 12 14 0.49
Miguel Sanó MIN IF 274.7 0.8 6.35 37 13 0.08
Isiah Kiner-Falefa NYY IF 294.4 1.4 4.94 26 22 0.21
Gio Urshela MIN 3B 347.8 1.4 3.94 25 30 0.14
Ha-Seong Kim SDP IF 368.8 1.5 3.10 23 33 0.20
Patrick Wisdom CHC 3B 370.9 1.2 5.82 30 17 0.13
Luis Arraez MIN IF 377.8 1.5 4.46 24 25 0.22
Alec Bohm PHI 3B 407.9 1.3 3.66 28 31 0.19
Mike Moustakas CIN IF 410.7 0.9 2.91 35 37 0.10
Abraham Toro SEA IF 414.8 1.1 2.89 31 38 0.16
Joey Wendle MIA IF 452.6 1.4 5.50 27 19 0.17
Hunter Dozier KCR OF,Oth 469.7 0.6 3.99 39 29 0.05
Yandy Díaz TBR IF 505.7 1.6 4.51 22 24 0.26
Kevin Smith OAK 3B 516.2 1.1 NA 32 -3 0.12
Evan Longoria SFG 3B 523.8 1.3 4.13 29 26 0.20
Brian Anderson MIA OF,Oth 527.7 1.8 4.06 21 28 0.28
J.D. Davis NYM OF,Oth 542.7 0.9 3.04 34 35 0.09
Colin Moran CIN IF 576.1 -0.1 3.22 74 32 -0.01
Edwin Ríos LAD IF 576.3 0.2 0.33 50 66 -0.01
Santiago Espinal TOR 3B 578.2 0.7 3.08 38 34 0.07
Carter Kieboom WSN 3B 582.2 0.8 1.86 36 41 0.09
Aledmys Díaz HOU IF 583.7 0.9 2.59 33 39 0.07
Maikel Franco WSN 3B 584.7 0.1 1.61 62 44 0.00
Matt Duffy LAA 3B 587.2 0.6 2.57 41 40 0.06
Jon Berti MIA OF,Oth 587.7 0.6 1.48 40 47 0.03
Yu Chang CLE IF 595.6 0.6 2.97 42 36 0.02
Jake Burger CHW 3B 598.1 0.1 NA 61 -1 0.01
Kelvin Gutierrez BAL 3B 598.6 0.2 1.51 51 46 0.02
Matt Carpenter 0 3B 599.4 0.0 0.60 72 55 0.00
Colton Welker COL IF 599.7 0.1 NA 54 0 0.00
Mike Brosseau MIL IF 599.7 0.5 1.83 43 42 0.05
Matt Thaiss LAA IF 599.9 0.1 NA 64 -4 -0.01
Hanser Alberto LAD IF 600.0 0.3 1.35 47 48 0.02
Marwin Gonzalez NYY IF 600.3 0.1 0.54 63 60 -0.01
Willians Astudillo MIA IF 600.4 0.1 0.33 68 65 -0.01
David Bote CHC IF 600.5 0.4 0.87 44 52 0.05
Isaac Paredes DET 3B 600.5 0.4 0.59 45 57 0.04
Isan Díaz 0 IF 600.5 0.1 0.19 59 68 0.00
Starlin Castro 0 IF 600.5 0.3 1.07 48 51 0.03
Asdrúbal Cabrera CIN IF 600.7 0.0 1.56 69 45 0.00
Travis Shaw 0 3B 600.7 0.0 0.80 73 53 0.00
Charlie Culberson 0 OF,Oth 600.8 0.1 1.08 53 50 -0.02
Johan Camargo PHI IF 600.9 0.4 NA 46 -2 0.04
Ronald Torreyes PHI IF 600.9 -0.1 0.44 75 62 0.00
Yonny Hernandez TEX 3B 600.9 0.3 0.50 49 61 0.03
Jack Mayfield LAA IF 601.0 0.1 1.08 60 49 0.00
Brock Holt ATL IF 999.0 0.0 0.54 70 59 -0.02
Daniel Robertson MIN IF 999.0 0.0 0.24 71 67 -0.01
Drew Ellis ARI 3B 999.0 0.1 0.42 55 63 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.78 56 43 0.01
Emmanuel Rivera KCR 3B 999.0 0.1 0.77 57 54 0.01
Ernie Clement CLE IF 999.0 0.1 0.60 58 56 0.00
Luis Guillorme NYM IF 999.0 0.2 0.56 52 58 0.01
Pablo Reyes MIL OF,Oth 999.0 0.1 0.34 65 64 -0.01
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 66 -5 -0.01
Vimael Machín 0 IF 999.0 0.1 NA 67 -6 0.01

SS

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Trea Turner LAD SS 1.2 5.6 9.94 1 2 0.96
Bo Bichette TOR SS 4.4 4.7 9.70 2 3 0.89
Tim Anderson CHW SS 30.1 3.2 8.88 13 5 0.58
Trevor Story BOS SS 33.1 4.3 8.66 8 7 0.68
Marcus Semien TEX IF 40.3 4.7 10.24 4 1 0.85
Xander Bogaerts BOS SS 45.8 4.5 8.73 6 6 0.82
Francisco Lindor NYM SS 52.9 4.2 7.32 9 16 0.72
Adalberto Mondesi KCR SS 58.1 2.0 5.90 25 24 0.33
Wander Franco TBR SS 58.9 4.5 7.84 5 10 0.78
Javier Báez DET SS 63.8 2.8 8.59 15 8 0.53
Fernando Tatis Jr. SDP SS 71.7 3.4 5.53 11 26 0.63
Ketel Marte ARI IF 78.9 3.7 8.17 10 9 0.65
Corey Seager TEX SS 79.6 4.4 7.57 7 14 0.75
Jorge Polanco MIN IF 80.5 3.1 9.17 14 4 0.56
Jazz Chisholm Jr. MIA IF 81.0 1.8 6.72 29 19 0.28
Carlos Correa MIN SS 98.5 4.7 7.69 3 12 0.92
Dansby Swanson ATL SS 123.5 2.7 7.54 17 15 0.49
Willy Adames MIL SS 125.6 3.3 7.58 12 13 0.60
Chris Taylor LAD OF,Oth 140.6 2.1 6.65 23 20 0.37
Gleyber Torres NYY IF 162.3 2.4 4.56 18 31 0.45
Brendan Rodgers COL IF 166.9 1.6 6.07 33 22 0.23
Amed Rosario CLE SS 175.7 1.9 5.94 26 23 0.32
Eduardo Escobar NYM IF 204.2 1.9 7.06 27 17 0.30
Jean Segura PHI IF 211.4 2.4 6.84 20 18 0.40
Oneil Cruz 0 SS 222.4 1.7 NA 32 -4 0.29
Luis Urías MIL IF 223.7 2.4 6.38 21 21 0.41
Brandon Crawford SFG SS 227.5 2.7 7.79 16 11 0.51
Jonathan Villar CHC IF 238.2 1.2 4.95 40 29 0.13
Nicky Lopez KCR IF 265.2 1.8 5.58 30 25 0.26
Gavin Lux LAD IF 267.7 1.7 4.25 31 37 0.19
Andrés Giménez CLE IF 284.1 1.8 3.56 28 39 0.24
Isiah Kiner-Falefa NYY IF 294.4 1.4 4.94 39 30 0.21
Ha-Seong Kim SDP IF 368.8 1.5 3.10 35 43 0.20
Paul DeJong STL SS 489.1 2.1 4.44 24 33 0.35
Tyler Wade LAA IF 496.3 0.4 2.54 56 50 0.03
J.P. Crawford SEA SS 501.4 2.4 5.21 19 28 0.44
Miguel Rojas MIA SS 516.9 2.3 5.31 22 27 0.38
Didi Gregorius PHI SS 537.5 0.9 3.20 47 42 0.06
Brad Miller TEX IF 540.6 1.5 4.51 34 32 0.17
José Iglesias COL SS 542.3 1.0 4.37 43 35 0.14
Kyle Farmer CIN SS 542.9 1.1 4.06 41 38 0.10
Edmundo Sosa STL IF 544.9 1.4 3.45 38 40 0.16
Nico Hoerner CHC IF 545.4 1.5 3.06 36 45 0.15
Ramón Urías BAL IF 548.1 1.5 4.34 37 36 0.18
Jose Barrero CIN SS 557.0 0.9 1.21 49 58 0.11
Elvis Andrus OAK SS 576.0 0.9 3.07 48 44 0.06
Willi Castro DET IF 582.4 0.3 0.90 61 64 0.01
Niko Goodrum HOU SS 582.9 0.7 2.68 50 48 0.05
Aledmys Díaz HOU IF 583.7 0.9 2.59 46 49 0.07
Jed Lowrie OAK IF 584.8 0.4 3.42 54 41 0.04
Cole Tucker PIT OF,Oth 587.8 0.3 2.06 57 52 0.03
Alcides Escobar WSN SS 591.7 0.2 4.38 62 34 0.01
Andrelton Simmons CHC SS 593.7 1.0 1.55 42 56 0.08
Kevin Newman PIT SS 594.8 0.6 2.42 52 51 0.04
Taylor Walls TBR SS 594.8 1.0 1.70 45 54 0.12
Geraldo Perdomo ARI SS 595.5 0.4 NA 53 -1 0.01
Thairo Estrada SFG IF 595.8 0.7 2.68 51 47 0.05
Nick Ahmed ARI SS 596.2 1.0 2.97 44 46 0.09
Marwin Gonzalez NYY IF 600.3 0.1 0.54 69 67 -0.01
Starlin Castro 0 IF 600.5 0.3 1.07 60 60 0.03
Sergio Alcántara ARI IF 600.6 0.4 1.45 55 57 0.02
Asdrúbal Cabrera CIN IF 600.7 0.0 1.56 74 55 0.00
Gabriel Arias CLE SS 600.8 0.3 NA 58 0 0.03
José Peraza NYY IF 600.8 0.1 0.40 68 71 -0.01
Orlando Arcia ATL SS 600.8 0.3 1.00 59 61 0.03
Andrew Velazquez LAA SS 600.9 0.1 0.75 63 65 0.02
Chris Owings 0 IF 600.9 0.0 0.92 75 63 -0.02
Ronald Torreyes PHI IF 600.9 -0.1 0.44 80 69 0.00
Jack Mayfield LAA IF 601.0 0.1 1.08 66 59 0.00
Alan Trejo COL IF 999.0 0.0 0.38 73 72 -0.01
Daniel Robertson MIN IF 999.0 0.0 0.24 76 73 -0.01
Danny Mendick CHW IF 999.0 0.1 0.44 64 70 0.00
Ehire Adrianza WSN IF 999.0 0.1 1.78 65 53 0.01
José Devers MIA IF 999.0 0.1 NA 67 -2 -0.01
Nick Allen 0 SS 999.0 0.1 NA 70 -3 0.01
Nick Maton PHI IF 999.0 0.0 0.59 77 66 -0.01
Richie Martin BAL SS 999.0 -0.1 0.45 79 68 0.00
Vimael Machín 0 IF 999.0 0.1 NA 71 -5 0.01
Wilmer Difo ARI IF 999.0 -0.1 0.98 81 62 0.00
Yairo Muñoz 0 OF,Oth 999.0 0.0 NA 78 -6 -0.01
Zack Short 0 SS 999.0 0.1 0.20 72 74 0.01

LF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.6 7.6 9.64 1 1 0.92
Teoscar Hernández TOR OF 27.1 2.2 9.48 12 2 0.40
Tyler O'Neill STL OF 48.0 2.9 8.98 7 4 0.64
Eloy Jiménez CHW OF 66.0 2.1 5.75 14 29 0.45
Randy Arozarena TBR OF 67.6 1.9 7.91 20 7 0.34
Bryan Reynolds PIT OF 92.9 4.2 8.98 2 3 0.77
Christian Yelich MIL OF 99.8 2.9 6.06 6 22 0.59
Kyle Schwarber PHI OF 106.5 2.7 8.13 8 5 0.61
Ryan Mountcastle BAL OF,Oth 124.3 1.6 7.82 28 8 0.26
Jesse Winker SEA OF 124.8 3.1 7.96 4 6 0.74
Chris Taylor LAD OF,Oth 140.6 2.1 6.65 13 13 0.37
Lourdes Gurriel Jr. TOR OF 141.8 1.3 6.63 30 15 0.23
Akil Baddoo DET OF 152.1 1.6 6.32 27 19 0.29
Austin Meadows TBR OF 158.7 1.9 6.87 17 10 0.25
Marcell Ozuna ATL OF 166.7 2.2 3.65 11 48 0.47
Alex Verdugo BOS OF 174.8 2.4 6.48 9 17 0.41
Joey Gallo NYY OF 182.3 3.5 7.27 3 9 0.64
Eddie Rosario ATL OF 183.1 0.9 5.87 39 25 0.14
Andrew Benintendi KCR OF 194.1 1.9 6.57 16 16 0.38
Robbie Grossman DET OF 194.1 1.7 6.24 26 20 0.29
Jo Adell LAA OF 202.1 0.6 5.59 50 31 0.04
Adam Duvall ATL OF 218.1 1.7 5.81 22 26 0.27
AJ Pollock LAD OF 220.9 1.7 6.39 23 18 0.33
Ian Happ CHC OF 228.4 2.1 6.09 15 21 0.35
Tommy Pham CIN OF 234.6 1.8 5.18 21 34 0.34
Jesús Sánchez MIA OF 236.8 2.3 6.86 10 11 0.36
Michael Brantley HOU OF 255.0 1.9 5.39 19 33 0.39
Austin Hays BAL OF 258.2 1.7 6.73 24 12 0.28
Andrew Vaughn CHW OF 290.4 0.9 3.93 38 44 0.21
Mark Canha NYM OF 296.3 1.7 6.65 25 14 0.35
Wil Myers SDP OF 303.1 1.1 5.77 33 27 0.18
Andrew McCutchen MIL OF 315.5 0.9 5.96 37 23 0.12
Jeff McNeil NYM OF,Oth 327.5 1.9 4.33 18 41 0.38
Raimel Tapia TOR OF 340.0 0.3 4.36 65 40 0.02
Connor Joe COL OF,Oth 364.2 0.7 4.26 46 42 0.07
Brandon Nimmo NYM OF 367.0 3.0 5.72 5 30 0.58
Rafael Ortega CHC OF 415.2 0.8 5.08 45 35 0.11
Josh Lowe TBR OF 437.3 0.6 NA 51 -6 0.00
LaMonte Wade Jr. SFG OF 449.6 1.0 5.75 35 28 0.13
Tony Kemp OAK OF,Oth 461.1 1.6 5.50 29 32 0.28
Dominic Smith NYM OF,Oth 462.2 0.6 3.00 49 58 0.04
Darin Ruf SFG OF,Oth 471.1 1.0 4.70 34 36 0.13
Willie Calhoun TEX OF 503.9 0.2 3.06 74 55 0.00
David Peralta ARI OF 507.8 1.1 4.44 32 39 0.18
Joc Pederson SFG OF 515.8 0.9 4.47 42 38 0.11
Clint Frazier CHC OF 522.4 0.4 2.10 60 68 0.01
Seth Brown OAK OF 523.6 0.6 5.89 53 24 0.08
Jake Fraley CIN OF 526.0 0.9 3.55 41 50 0.10
Sam Hilliard COL OF 527.5 0.4 4.62 61 37 0.02
Chas McCormick HOU OF 535.7 1.1 4.05 31 43 0.20
Dylan Moore SEA OF,Oth 539.0 0.5 1.67 57 73 0.05
J.D. Davis NYM OF,Oth 542.7 0.9 3.04 40 56 0.09
Tyrone Taylor MIL OF 548.7 1.0 3.60 36 49 0.15
Jurickson Profar SDP OF,Oth 561.9 0.3 3.17 63 54 0.02
Justin Upton LAA OF 573.6 0.1 2.30 80 65 0.00
Bryan De La Cruz 0 OF 574.0 0.6 2.14 48 66 0.07
Edward Olivares KCR OF 576.0 0.3 1.67 62 72 0.00
Corey Dickerson STL OF 580.7 0.1 3.02 78 57 -0.01
Chad Pinder OAK OF 581.6 0.5 3.83 55 45 0.03
Anthony Alford PIT OF 581.9 -0.1 2.95 106 60 -0.02
Josh Naylor CLE OF 584.1 0.6 3.18 52 52 0.03
Trevor Larnach MIN OF 585.7 0.2 1.78 73 71 0.00
Ben Gamel PIT OF 586.8 0.8 3.75 43 46 0.12
Lars Nootbaar STL OF 587.3 0.2 2.96 70 59 -0.01
Matt Beaty SDP OF,Oth 587.7 0.2 2.75 71 62 0.00
Aristides Aquino CIN OF 589.9 0.4 2.86 59 61 0.01
Harold Ramirez TBR OF 592.0 0.0 1.55 90 74 -0.01
Mickey Moniak PHI OF 593.3 0.0 NA 99 -10 -0.02
Oscar Mercado CLE OF 595.2 0.5 2.32 58 64 0.04
Yadiel Hernandez WSN OF 596.3 0.1 3.72 84 47 -0.01
Greg Allen PIT OF 597.4 0.2 NA 69 -4 0.01
Andrew Stevenson WSN OF 597.8 -0.2 0.71 110 81 -0.01
Miguel Andújar NYY OF 598.3 0.0 0.75 100 80 -0.02
Phil Gosselin 0 OF 598.4 0.0 0.46 101 87 -0.01
Brett Gardner 0 OF 598.6 0.5 1.96 54 69 0.04
Michael Hermosillo CHC OF 599.0 0.3 NA 64 -9 0.00
Alex Dickerson ATL OF 599.2 0.2 2.61 66 63 0.00
Billy McKinney 0 OF 599.2 0.1 0.68 75 82 -0.02
Taylor Ward LAA OF 599.5 0.7 3.17 47 53 0.02
Brent Rooker MIN OF 600.0 0.2 1.81 67 70 0.00
David Dahl MIL OF 600.2 0.0 0.14 89 95 -0.02
Garrett Stubbs PHI C,Oth 600.2 0.2 NA 68 -3 0.00
Tim Locastro NYY OF 600.2 0.1 0.65 82 83 -0.01
Eli White TEX OF 600.5 0.1 0.90 79 79 -0.01
Ryan Vilade 0 OF 600.5 -0.1 NA 108 -11 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.49 76 75 -0.01
Max Schrock CIN OF 600.6 0.0 1.05 98 77 -0.02
Jordan Luplow ARI OF 600.7 0.8 3.35 44 51 0.10
Charlie Culberson 0 OF,Oth 600.8 0.1 1.08 77 76 -0.02
Jake Bauers CIN OF,Oth 600.8 0.0 0.16 91 94 -0.01
Shogo Akiyama CIN OF 600.8 -0.1 0.29 109 92 -0.02
Adam Haseley CHW OF 600.9 0.0 NA 85 0 -0.01
DJ Stewart BAL OF 600.9 0.5 2.11 56 67 0.02
Lewis Brinson 0 OF 600.9 0.0 0.50 95 86 -0.02
Taylor Trammell 0 OF 600.9 0.0 0.38 103 91 -0.02
TJ Friedl 0 OF 600.9 0.1 NA 83 -12 -0.01
Luke Raley TBR OF 601.0 0.0 0.41 97 88 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 86 -1 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 87 -2 -0.02
Daniel Johnson CLE OF 999.0 0.0 0.38 88 90 -0.02
Jake Cave MIN OF 999.0 -0.1 0.50 107 85 -0.01
Jared Oliva 0 OF 999.0 0.0 NA 92 -5 -0.01
Josh Palacios 0 OF 999.0 0.0 NA 93 -7 -0.01
Kyle Garlick MIN OF 999.0 0.0 0.60 94 84 -0.02
Luis Barrera 0 OF 999.0 0.0 NA 96 -8 -0.01
Rob Refsnyder BOS OF 999.0 0.0 0.40 102 89 -0.02
Ryan McKenna BAL OF 999.0 0.1 0.28 81 93 -0.01
Shed Long Jr. BAL OF,Oth 999.0 0.2 1.02 72 78 0.00
Tyler Nevin BAL OF,Oth 999.0 0.0 NA 104 -13 -0.01
Zach Reks 0 OF 999.0 0.0 NA 105 -14 -0.02

RF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.6 7.6 9.64 1 2 0.92
Bryce Harper PHI OF 7.9 5.3 10.25 4 1 0.79
Kyle Tucker HOU OF 12.0 4.6 9.52 6 4 0.71
Ronald Acuña Jr. ATL OF 14.2 5.1 8.80 5 9 0.75
Mookie Betts LAD OF 14.7 5.8 9.20 2 6 0.88
Teoscar Hernández TOR OF 27.1 2.2 9.48 21 5 0.40
Whit Merrifield KCR OF,Oth 33.6 2.3 7.07 19 16 0.42
Aaron Judge NYY OF 35.4 5.3 9.13 3 7 0.84
Nick Castellanos PHI OF 56.5 2.4 9.57 15 3 0.48
George Springer TOR OF 56.7 4.1 8.89 7 8 0.67
Randy Arozarena TBR OF 67.6 1.9 7.91 23 12 0.34
Christian Yelich MIL OF 99.8 2.9 6.06 9 26 0.59
Mitch Haniger SEA OF 108.4 2.5 8.19 13 10 0.50
Cody Bellinger LAD OF 121.4 2.9 3.28 10 52 0.61
Franmil Reyes CLE OF 121.7 1.9 7.93 22 11 0.32
Hunter Renfroe MIL OF 164.5 1.7 7.32 26 14 0.31
Dylan Carlson STL OF 166.6 2.5 6.80 11 18 0.43
Adolis García TEX OF 170.1 1.3 6.75 31 19 0.20
Alex Verdugo BOS OF 174.8 2.4 6.48 14 21 0.41
Avisaíl García MIA OF 176.0 2.3 7.89 16 13 0.44
Joey Gallo NYY OF 182.3 3.5 7.27 8 15 0.64
Alex Kirilloff MIN OF,Oth 189.1 1.6 5.12 28 36 0.24
Jorge Soler MIA OF 193.2 1.5 5.94 29 28 0.25
Robbie Grossman DET OF 194.1 1.7 6.24 27 24 0.29
Jo Adell LAA OF 202.1 0.6 5.59 52 34 0.04
Adam Duvall ATL OF 218.1 1.7 5.81 24 30 0.27
Trey Mancini BAL OF,Oth 221.5 1.4 5.79 30 31 0.21
Jesús Sánchez MIA OF 236.8 2.3 6.86 17 17 0.36
Charlie Blackmon COL OF 237.3 0.6 6.06 50 27 0.06
Austin Hays BAL OF 258.2 1.7 6.73 25 20 0.28
Michael Conforto 0 OF 260.6 2.2 4.01 20 44 0.52
Randal Grichuk COL OF 279.5 0.7 5.09 45 37 0.05
Mike Yastrzemski SFG OF 300.1 2.3 6.39 18 22 0.38
Lane Thomas WSN OF 301.4 1.1 4.51 35 40 0.16
Wil Myers SDP OF 303.1 1.1 5.77 37 32 0.18
Max Kepler MIN OF 309.0 2.5 6.33 12 23 0.45
Anthony Santander BAL OF 340.2 1.3 5.08 32 38 0.21
Tyler Naquin CIN OF 391.3 0.7 6.19 47 25 0.09
Manuel Margot TBR OF 409.3 1.1 4.40 36 42 0.16
Josh Lowe TBR OF 437.3 0.6 NA 53 -4 0.00
LaMonte Wade Jr. SFG OF 449.6 1.0 5.75 40 33 0.13
Hunter Dozier KCR OF,Oth 469.7 0.6 3.99 51 45 0.05
Pavin Smith ARI OF,Oth 508.7 0.6 4.55 55 39 0.06
Joc Pederson SFG OF 515.8 0.9 4.47 42 41 0.11
Clint Frazier CHC OF 522.4 0.4 2.10 62 66 0.01
Seth Brown OAK OF 523.6 0.6 5.89 56 29 0.08
Garrett Cooper MIA OF,Oth 527.0 1.2 5.16 33 35 0.16
Gavin Sheets CHW OF 544.5 0.5 4.03 59 43 0.09
Bradley Zimmer CLE OF 545.6 0.6 2.77 48 59 0.07
Tyrone Taylor MIL OF 548.7 1.0 3.60 41 48 0.15
Kole Calhoun TEX OF 549.1 1.1 3.31 34 51 0.17
Kyle Isbel KCR OF 561.5 0.4 2.86 64 57 0.03
Bryan De La Cruz 0 OF 574.0 0.6 2.14 49 64 0.07
Edward Olivares KCR OF 576.0 0.3 1.67 66 68 0.00
Chad Pinder OAK OF 581.6 0.5 3.83 57 46 0.03
Jose Siri HOU OF 583.0 0.4 NA 63 -3 0.01
Josh Naylor CLE OF 584.1 0.6 3.18 54 53 0.03
Austin Slater SFG OF 585.2 1.0 3.32 38 50 0.14
Trevor Larnach MIN OF 585.7 0.2 1.78 69 67 0.00
Ben Gamel PIT OF 586.8 0.8 3.75 43 47 0.12
Lars Nootbaar STL OF 587.3 0.2 2.96 68 55 -0.01
Aristides Aquino CIN OF 589.9 0.4 2.86 61 58 0.01
Harold Ramirez TBR OF 592.0 0.0 1.55 78 69 -0.01
Victor Reyes DET OF 593.6 0.5 2.51 60 61 0.01
Stephen Piscotty OAK OF 595.9 -0.2 2.39 92 62 -0.01
Brett Phillips TBR OF 596.6 0.3 2.28 65 63 0.00
Khalil Lee 0 OF 596.7 0.0 NA 83 -6 -0.01
Jason Heyward CHC OF 597.8 1.0 2.65 39 60 0.11
Billy McKinney 0 OF 599.2 0.1 0.68 70 75 -0.02
Taylor Ward LAA OF 599.5 0.7 3.17 46 54 0.02
Zach McKinstry 0 OF,Oth 599.7 -0.1 0.76 91 74 -0.01
Tim Locastro NYY OF 600.2 0.1 0.65 75 76 -0.01
Brian Goodwin 0 OF 600.6 0.1 1.49 71 70 -0.01
Nomar Mazara SDP OF 600.6 0.1 0.90 73 73 -0.01
Daz Cameron 0 OF 600.7 0.1 0.61 72 77 -0.01
Jordan Luplow ARI OF 600.7 0.8 3.35 44 49 0.10
Jose Rojas LAA OF 600.7 0.0 0.96 81 72 0.00
DJ Stewart BAL OF 600.9 0.5 2.11 58 65 0.02
Jake McCarthy ARI OF 601.0 0.0 2.87 79 56 -0.02
Luke Raley TBR OF 601.0 0.0 0.41 86 80 -0.01
Adam Eaton 0 OF 999.0 0.2 1.16 67 71 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 76 0 -0.02
Daniel Johnson CLE OF 999.0 0.0 0.38 77 81 -0.02
Dexter Fowler 0 OF 999.0 -0.1 NA 88 -1 -0.02
Jake Cave MIN OF 999.0 -0.1 0.50 89 79 -0.01
Jared Oliva 0 OF 999.0 0.0 NA 80 -2 -0.01
Josh Palacios 0 OF 999.0 0.0 NA 82 -5 -0.01
Kyle Garlick MIN OF 999.0 0.0 0.60 84 78 -0.02
Luis Barrera 0 OF 999.0 0.0 NA 85 -7 -0.01
Matt Joyce PHI OF 999.0 -0.1 0.26 90 82 -0.01
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 74 -8 -0.01
Zach Reks 0 OF 999.0 0.0 NA 87 -9 -0.02

CF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Mike Trout LAA OF 13 6.6 8.97 1 4 0.94
Ronald Acuña Jr. ATL OF 14 5.1 8.80 2 6 0.75
Luis Robert CHW OF 15 4.6 9.56 4 1 0.85
Starling Marte NYM OF 31 2.7 8.28 14 8 0.50
Cedric Mullins BAL OF 34 3.2 9.15 8 2 0.66
Byron Buxton MIN OF 39 4.6 8.63 3 7 0.81
George Springer TOR OF 57 4.1 8.89 6 5 0.67
Ketel Marte ARI IF 79 3.7 8.17 7 9 0.65
Daulton Varsho ARI C,Oth 91 2.2 5.45 20 23 0.37
Bryan Reynolds PIT OF 93 4.2 8.98 5 3 0.77
Cody Bellinger LAD OF 121 2.9 3.28 11 42 0.61
Myles Straw CLE OF 130 2.3 4.75 19 28 0.39
Trent Grisham SDP OF 148 3.1 6.32 9 17 0.63
Jarred Kelenic SEA OF 149 1.4 4.54 26 30 0.25
Akil Baddoo DET OF 152 1.6 6.32 24 16 0.29
Dylan Carlson STL OF 167 2.5 6.80 16 10 0.43
Adolis García TEX OF 170 1.3 6.75 27 11 0.20
Alex Verdugo BOS OF 175 2.4 6.48 18 13 0.41
AJ Pollock LAD OF 221 1.7 6.39 22 14 0.33
Enrique Hernández BOS OF,Oth 226 2.8 6.70 13 12 0.53
Ian Happ CHC OF 228 2.1 6.09 21 20 0.35
Harrison Bader STL OF 245 2.9 6.21 12 18 0.55
Ramón Laureano OAK OF 268 2.6 6.05 15 21 0.48
Randal Grichuk COL OF 280 0.7 5.09 45 24 0.05
Lane Thomas WSN OF 301 1.1 4.51 34 31 0.16
Max Kepler MIN OF 309 2.5 6.33 17 15 0.45
Nick Senzel CIN OF 360 1.1 3.33 36 40 0.15
Brandon Nimmo NYM OF 367 3.0 5.72 10 22 0.58
Garrett Hampson COL OF,Oth 369 0.3 3.12 63 45 0.01
Tyler Naquin CIN OF 391 0.7 6.19 47 19 0.09
Manuel Margot TBR OF 409 1.1 4.40 35 32 0.16
Brandon Marsh LAA OF 410 1.2 3.56 28 37 0.19
Rafael Ortega CHC OF 415 0.8 5.08 43 25 0.11
Kyle Lewis SEA OF 482 1.1 3.06 33 46 0.21
Lorenzo Cain MIL OF 496 1.5 4.95 25 26 0.26
Victor Robles WSN OF 507 1.0 2.51 39 53 0.16
Jake Fraley CIN OF 526 0.9 3.55 40 39 0.10
Sam Hilliard COL OF 528 0.4 4.62 61 29 0.02
Aaron Hicks NYY OF 530 1.6 2.44 23 55 0.27
Chas McCormick HOU OF 536 1.1 4.05 32 34 0.20
Jarren Duran 0 OF 542 0.4 1.94 57 60 0.03
Bradley Zimmer CLE OF 546 0.6 2.77 48 50 0.07
Michael A. Taylor KCR OF 546 1.2 4.12 31 33 0.21
Kyle Isbel KCR OF 562 0.4 2.86 59 48 0.03
Leury García CHW OF 564 0.7 3.17 44 43 0.07
Cristian Pache OAK OF 571 0.8 1.13 42 66 0.10
Bryan De La Cruz 0 OF 574 0.6 2.14 49 58 0.07
Matt Vierling PHI OF,Oth 576 0.6 3.12 51 44 0.05
Jose Siri HOU OF 583 0.4 NA 58 -3 0.01
Austin Slater SFG OF 585 1.0 3.32 37 41 0.14
Kevin Kiermaier TBR OF 588 1.2 3.91 30 35 0.22
Jackie Bradley Jr. BOS OF 590 0.2 1.78 66 61 0.00
Odúbel Herrera PHI OF 592 0.9 3.87 41 36 0.14
Leody Taveras 0 OF 592 0.6 1.00 50 69 0.06
Nick Gordon MIN OF 593 0.3 1.44 65 63 0.01
Mickey Moniak PHI OF 593 0.0 NA 85 -5 -0.02
Victor Reyes DET OF 594 0.5 2.51 55 54 0.01
Mauricio Dubón SFG OF,Oth 595 0.4 1.30 60 65 0.03
Oscar Mercado CLE OF 595 0.5 2.32 54 56 0.04
Kevin Pillar LAD OF 596 0.5 2.67 53 51 0.03
Jake Meyers HOU OF 596 1.2 4.79 29 27 0.20
Brett Phillips TBR OF 597 0.3 2.28 62 57 0.00
Andrew Stevenson WSN OF 598 -0.2 0.71 96 72 -0.01
Jason Heyward CHC OF 598 1.0 2.65 38 52 0.11
Brett Gardner 0 OF 599 0.5 1.96 52 59 0.04
Adam Engel CHW OF 599 0.4 2.79 56 49 0.06
Michael Hermosillo CHC OF 599 0.3 NA 64 -4 0.00
Steven Duggar SFG OF 600 0.7 3.55 46 38 0.08
David Dahl MIL OF 600 0.0 0.14 78 90 -0.02
Tim Locastro NYY OF 600 0.1 0.65 75 74 -0.01
Billy Hamilton 0 OF 600 -0.1 0.47 89 80 -0.01
Eli White TEX OF 600 0.1 0.90 71 70 -0.01
Yonathan Daza COL OF 600 0.0 1.34 88 64 -0.02
Brian Goodwin 0 OF 601 0.1 1.49 68 62 -0.01
Daz Cameron 0 OF 601 0.1 0.61 69 76 -0.01
Shogo Akiyama CIN OF 601 -0.1 0.29 94 85 -0.02
Adam Haseley CHW OF 601 0.0 NA 77 0 -0.01
Estevan Florial 0 OF 601 0.1 NA 72 -2 -0.01
Lewis Brinson 0 OF 601 0.0 0.50 83 79 -0.02
Skye Bolt OAK OF 601 0.2 0.38 67 83 0.00
Taylor Trammell 0 OF 601 0.0 0.38 87 84 -0.02
TJ Friedl 0 OF 601 0.1 NA 76 -6 -0.01
Jake McCarthy ARI OF 601 0.0 2.87 80 47 -0.02
Delino DeShields MIA OF 999 0.0 0.24 79 87 -0.01
Derek Hill DET OF 999 0.1 0.87 70 71 -0.01
Dexter Fowler 0 OF 999 -0.1 NA 90 -1 -0.02
Gilberto Celestino MIN OF 999 0.1 0.18 73 89 -0.01
Guillermo Heredia ATL OF 999 -0.1 1.12 91 67 -0.01
Jake Cave MIN OF 999 -0.1 0.50 92 78 -0.01
Jake Marisnick 0 OF 999 0.1 1.01 74 68 -0.01
Jarrod Dyson 0 OF 999 0.0 0.57 81 77 -0.01
Juan Lagares 0 OF 999 0.0 0.68 82 73 -0.02
Luke Williams SFG OF 999 0.0 0.46 84 81 -0.02
Magneuris Sierra LAA OF 999 -0.2 0.28 97 86 0.00
Rob Refsnyder BOS OF 999 0.0 0.40 86 82 -0.02
Roman Quinn 0 OF 999 -0.1 0.23 93 88 -0.02
Travis Jankowski NYM OF 999 -0.1 0.62 95 75 -0.02

OF

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Juan Soto WSN OF 3.6 7.6 9.64 1 2 0.92
Bryce Harper PHI OF 7.9 5.3 10.25 5 1 0.79
Kyle Tucker HOU OF 12.0 4.6 9.52 8 5 0.71
Mike Trout LAA OF 12.6 6.6 8.97 2 12 0.94
Ronald Acuña Jr. ATL OF 14.2 5.1 8.80 6 14 0.75
Mookie Betts LAD OF 14.7 5.8 9.20 3 7 0.88
Luis Robert CHW OF 15.4 4.6 9.56 9 4 0.85
Teoscar Hernández TOR OF 27.1 2.2 9.48 42 6 0.40
Starling Marte NYM OF 30.8 2.7 8.28 25 17 0.50
Whit Merrifield KCR OF,Oth 33.6 2.3 7.07 38 31 0.42
Cedric Mullins BAL OF 34.4 3.2 9.15 14 8 0.66
Aaron Judge NYY OF 35.4 5.3 9.13 4 9 0.84
Byron Buxton MIN OF 39.0 4.6 8.63 7 15 0.81
Tyler O'Neill STL OF 48.0 2.9 8.98 22 11 0.64
Nick Castellanos PHI OF 56.5 2.4 9.57 32 3 0.48
George Springer TOR OF 56.7 4.1 8.89 11 13 0.67
Kris Bryant COL OF,Oth 63.3 2.4 8.52 31 16 0.36
Eloy Jiménez CHW OF 66.0 2.1 5.75 45 65 0.45
Randy Arozarena TBR OF 67.6 1.9 7.91 53 25 0.34
Ketel Marte ARI IF 78.9 3.7 8.17 12 19 0.65
J.D. Martinez BOS OF 88.9 2.1 8.07 47 21 0.40
Daulton Varsho ARI C,Oth 91.2 2.2 5.45 39 69 0.37
Bryan Reynolds PIT OF 92.9 4.2 8.98 10 10 0.77
Giancarlo Stanton NYY OF 95.1 2.3 7.02 34 32 0.51
Christian Yelich MIL OF 99.8 2.9 6.06 19 53 0.59
Kyle Schwarber PHI OF 106.5 2.7 8.13 24 20 0.61
Mitch Haniger SEA OF 108.4 2.5 8.19 29 18 0.50
Rhys Hoskins PHI OF,Oth 118.9 3.1 7.95 16 23 0.64
Cody Bellinger LAD OF 121.4 2.9 3.28 20 115 0.61
Franmil Reyes CLE OF 121.7 1.9 7.93 50 24 0.32
Ryan Mountcastle BAL OF,Oth 124.3 1.6 7.82 65 27 0.26
Jesse Winker SEA OF 124.8 3.1 7.96 15 22 0.74
Myles Straw CLE OF 129.8 2.3 4.75 37 79 0.39
Chris Taylor LAD OF,Oth 140.6 2.1 6.65 44 39 0.37
Lourdes Gurriel Jr. TOR OF 141.8 1.3 6.63 75 41 0.23
Trent Grisham SDP OF 147.5 3.1 6.32 17 48 0.63
Jarred Kelenic SEA OF 148.7 1.4 4.54 69 84 0.25
Akil Baddoo DET OF 152.1 1.6 6.32 63 47 0.29
Austin Meadows TBR OF 158.7 1.9 6.87 49 33 0.25
Hunter Renfroe MIL OF 164.5 1.7 7.32 59 28 0.31
Dylan Carlson STL OF 166.6 2.5 6.80 27 35 0.43
Marcell Ozuna ATL OF 166.7 2.2 3.65 40 104 0.47
Nelson Cruz WSN OF 167.4 1.4 7.18 70 30 0.16
Adolis García TEX OF 170.1 1.3 6.75 72 36 0.20
Alex Verdugo BOS OF 174.8 2.4 6.48 30 43 0.41
Avisaíl García MIA OF 176.0 2.3 7.89 33 26 0.44
Joey Gallo NYY OF 182.3 3.5 7.27 13 29 0.64
Eddie Rosario ATL OF 183.1 0.9 5.87 99 59 0.14
Alex Kirilloff MIN OF,Oth 189.1 1.6 5.12 64 73 0.24
Jorge Soler MIA OF 193.2 1.5 5.94 67 57 0.25
Andrew Benintendi KCR OF 194.1 1.9 6.57 48 42 0.38
Robbie Grossman DET OF 194.1 1.7 6.24 61 49 0.29
Jo Adell LAA OF 202.1 0.6 5.59 120 67 0.04
Adam Duvall ATL OF 218.1 1.7 5.81 56 60 0.27
AJ Pollock LAD OF 220.9 1.7 6.39 57 45 0.33
Trey Mancini BAL OF,Oth 221.5 1.4 5.79 71 61 0.21
Enrique Hernández BOS OF,Oth 226.4 2.8 6.70 23 38 0.53
Ian Happ CHC OF 228.4 2.1 6.09 46 52 0.35
Tommy Pham CIN OF 234.6 1.8 5.18 55 71 0.34
Jesús Sánchez MIA OF 236.8 2.3 6.86 35 34 0.36
Charlie Blackmon COL OF 237.3 0.6 6.06 117 54 0.06
Harrison Bader STL OF 244.8 2.9 6.21 21 50 0.55
Michael Brantley HOU OF 255.0 1.9 5.39 52 70 0.39
Austin Hays BAL OF 258.2 1.7 6.73 58 37 0.28
Michael Conforto 0 OF 260.6 2.2 4.01 41 96 0.52
Ramón Laureano OAK OF 268.4 2.6 6.05 26 55 0.48
Randal Grichuk COL OF 279.5 0.7 5.09 111 74 0.05
Andrew Vaughn CHW OF 290.4 0.9 3.93 98 98 0.21
Mark Canha NYM OF 296.3 1.7 6.65 60 40 0.35
Mike Yastrzemski SFG OF 300.1 2.3 6.39 36 44 0.38
Lane Thomas WSN OF 301.4 1.1 4.51 86 85 0.16
Wil Myers SDP OF 303.1 1.1 5.77 89 62 0.18
Max Kepler MIN OF 309.0 2.5 6.33 28 46 0.45
Josh Rojas ARI OF,Oth 312.0 1.3 4.65 74 81 0.27
Andrew McCutchen MIL OF 315.5 0.9 5.96 97 56 0.12
Jeff McNeil NYM OF,Oth 327.5 1.9 4.33 51 90 0.38
Raimel Tapia TOR OF 340.0 0.3 4.36 153 89 0.02
Anthony Santander BAL OF 340.2 1.3 5.08 73 76 0.21
Riley Greene DET OF 350.5 1.3 NA 76 -21 0.34
Nick Senzel CIN OF 359.6 1.1 3.33 88 112 0.15
Connor Joe COL OF,Oth 364.2 0.7 4.26 109 91 0.07
Brandon Nimmo NYM OF 367.0 3.0 5.72 18 66 0.58
Garrett Hampson COL OF,Oth 369.3 0.3 3.12 149 121 0.01
Jorge Mateo BAL OF,Oth 384.9 0.5 3.34 133 111 0.04
Tyler Naquin CIN OF 391.3 0.7 6.19 114 51 0.09
Manuel Margot TBR OF 409.3 1.1 4.40 87 88 0.16
Brandon Marsh LAA OF 410.4 1.2 3.56 77 106 0.19
Rafael Ortega CHC OF 415.2 0.8 5.08 107 75 0.11
Adam Frazier SEA OF,Oth 420.0 2.1 5.75 43 64 0.41
Josh Lowe TBR OF 437.3 0.6 NA 122 -14 0.00
LaMonte Wade Jr. SFG OF 449.6 1.0 5.75 93 63 0.13
Tony Kemp OAK OF,Oth 461.1 1.6 5.50 66 68 0.28
Dominic Smith NYM OF,Oth 462.2 0.6 3.00 118 126 0.04
Hunter Dozier KCR OF,Oth 469.7 0.6 3.99 119 97 0.05
Darin Ruf SFG OF,Oth 471.1 1.0 4.70 91 80 0.13
Yoshi Tsutsugo PIT OF,Oth 476.4 0.4 3.47 145 109 0.02
Kyle Lewis SEA OF 481.5 1.1 3.06 85 122 0.21
Vidal Bruján 0 OF,Oth 485.0 0.8 NA 108 -27 0.10
Lorenzo Cain MIL OF 495.7 1.5 4.95 68 77 0.26
Willie Calhoun TEX OF 503.9 0.2 3.06 169 123 0.00
Victor Robles WSN OF 506.8 1.0 2.51 95 138 0.16
David Peralta ARI OF 507.8 1.1 4.44 83 87 0.18
Pavin Smith ARI OF,Oth 508.7 0.6 4.55 126 83 0.06
Joc Pederson SFG OF 515.8 0.9 4.47 102 86 0.11
Clint Frazier CHC OF 522.4 0.4 2.10 139 148 0.01
Seth Brown OAK OF 523.6 0.6 5.89 127 58 0.08
Jake Fraley CIN OF 526.0 0.9 3.55 101 108 0.10
Garrett Cooper MIA OF,Oth 527.0 1.2 5.16 78 72 0.16
Sam Hilliard COL OF 527.5 0.4 4.62 144 82 0.02
Brian Anderson MIA OF,Oth 527.7 1.8 4.06 54 93 0.28
Aaron Hicks NYY OF 529.6 1.6 2.44 62 140 0.27
Chas McCormick HOU OF 535.7 1.1 4.05 82 94 0.20
Dylan Moore SEA OF,Oth 539.0 0.5 1.67 131 156 0.05
Jarren Duran 0 OF 541.9 0.4 1.94 140 151 0.03
J.D. Davis NYM OF,Oth 542.7 0.9 3.04 100 124 0.09
Gavin Sheets CHW OF 544.5 0.5 4.03 132 95 0.09
Bradley Zimmer CLE OF 545.6 0.6 2.77 115 133 0.07
Michael A. Taylor KCR OF 546.5 1.2 4.12 81 92 0.21
Tyrone Taylor MIL OF 548.7 1.0 3.60 94 105 0.15
Kole Calhoun TEX OF 549.1 1.1 3.31 84 114 0.17
Kyle Isbel KCR OF 561.5 0.4 2.86 142 130 0.03
Jurickson Profar SDP OF,Oth 561.9 0.3 3.17 150 118 0.02
Leury García CHW OF 564.0 0.7 3.17 110 119 0.07
Cristian Pache OAK OF 571.0 0.8 1.13 105 165 0.10
Justin Upton LAA OF 573.6 0.1 2.30 182 143 0.00
Bryan De La Cruz 0 OF 574.0 0.6 2.14 116 146 0.07
Matt Vierling PHI OF,Oth 575.6 0.6 3.12 125 120 0.05
Edward Olivares KCR OF 576.0 0.3 1.67 148 155 0.00
Alek Thomas ARI OF 579.8 0.9 NA 96 -1 0.13
Corey Dickerson STL OF 580.7 0.1 3.02 174 125 -0.01
Chad Pinder OAK OF 581.6 0.5 3.83 129 101 0.03
Anthony Alford PIT OF 581.9 -0.1 2.95 228 128 -0.02
Jace Peterson MIL OF,Oth 583.0 0.2 2.19 161 145 0.01
Jose Siri HOU OF 583.0 0.4 NA 141 -13 0.01
Josh Naylor CLE OF 584.1 0.6 3.18 123 116 0.03
Austin Slater SFG OF 585.2 1.0 3.32 90 113 0.14
Trevor Larnach MIN OF 585.7 0.2 1.78 168 154 0.00
Ben Gamel PIT OF 586.8 0.8 3.75 104 102 0.12
Lars Nootbaar STL OF 587.3 0.2 2.96 164 127 -0.01
Jon Berti MIA OF,Oth 587.7 0.6 1.48 121 159 0.03
Matt Beaty SDP OF,Oth 587.7 0.2 2.75 165 134 0.00
Cole Tucker PIT OF,Oth 587.8 0.3 2.06 147 149 0.03
Kevin Kiermaier TBR OF 587.9 1.2 3.91 80 99 0.22
Jackie Bradley Jr. BOS OF 589.5 0.2 1.78 162 153 0.00
Aristides Aquino CIN OF 589.9 0.4 2.86 138 131 0.01
Odúbel Herrera PHI OF 591.7 0.9 3.87 103 100 0.14
Harold Ramirez TBR OF 592.0 0.0 1.55 202 157 -0.01
Leody Taveras 0 OF 592.2 0.6 1.00 124 171 0.06
Nick Gordon MIN OF 592.7 0.3 1.44 152 160 0.01
Mickey Moniak PHI OF 593.3 0.0 NA 219 -20 -0.02
Victor Reyes DET OF 593.6 0.5 2.51 136 139 0.01
Eric Thames OAK OF,Oth 595.1 0.0 NA 200 -7 -0.01
Mauricio Dubón SFG OF,Oth 595.2 0.4 1.30 143 162 0.03
Oscar Mercado CLE OF 595.2 0.5 2.32 135 142 0.04
Stephen Piscotty OAK OF 595.9 -0.2 2.39 241 141 -0.01
Kevin Pillar LAD OF 596.3 0.5 2.67 134 135 0.03
Yadiel Hernandez WSN OF 596.3 0.1 3.72 190 103 -0.01
Jake Meyers HOU OF 596.5 1.2 4.79 79 78 0.20
Brett Phillips TBR OF 596.6 0.3 2.28 146 144 0.00
Khalil Lee 0 OF 596.7 0.0 NA 210 -16 -0.01
Greg Allen PIT OF 597.4 0.2 NA 160 -10 0.01
Andrew Stevenson WSN OF 597.8 -0.2 0.71 239 180 -0.01
Jason Heyward CHC OF 597.8 1.0 2.65 92 136 0.11
Miguel Andújar NYY OF 598.3 0.0 0.75 220 178 -0.02
Phil Gosselin 0 OF 598.4 0.0 0.46 221 194 -0.01
Brett Gardner 0 OF 598.6 0.5 1.96 128 150 0.04
Adam Engel CHW OF 599.0 0.4 2.79 137 132 0.06
Michael Hermosillo CHC OF 599.0 0.3 NA 151 -18 0.00
Travis Swaggerty 0 OF 599.0 0.3 NA 154 -25 0.03
Alex Dickerson ATL OF 599.2 0.2 2.61 156 137 0.00
Billy McKinney 0 OF 599.2 0.1 0.68 170 182 -0.02
Taylor Ward LAA OF 599.5 0.7 3.17 113 117 0.02
Steven Duggar SFG OF 599.7 0.7 3.55 112 107 0.08
Zach McKinstry 0 OF,Oth 599.7 -0.1 0.76 238 177 -0.01
Josh VanMeter ARI OF,Oth 599.9 0.2 0.66 163 183 0.00
Brent Rooker MIN OF 600.0 0.2 1.81 158 152 0.00
David Dahl MIL OF 600.2 0.0 0.14 198 211 -0.02
Garrett Stubbs PHI C,Oth 600.2 0.2 NA 159 -9 0.00
Tim Locastro NYY OF 600.2 0.1 0.65 188 184 -0.01
Marwin Gonzalez NYY IF 600.3 0.1 0.54 183 190 -0.01
Billy Hamilton 0 OF 600.4 -0.1 0.47 229 193 -0.01
Harold Castro DET OF,Oth 600.4 0.0 1.22 201 163 -0.01
Eli White TEX OF 600.5 0.1 0.90 177 174 -0.01
Ryan Vilade 0 OF 600.5 -0.1 NA 235 -23 -0.01
Yonathan Daza COL OF 600.5 0.0 1.34 226 161 -0.02
Brian Goodwin 0 OF 600.6 0.1 1.49 171 158 -0.01
Max Schrock CIN OF 600.6 0.0 1.05 217 168 -0.02
Nomar Mazara SDP OF 600.6 0.1 0.90 184 175 -0.01
Daz Cameron 0 OF 600.7 0.1 0.61 175 186 -0.01
Jordan Luplow ARI OF 600.7 0.8 3.35 106 110 0.10
Jose Rojas LAA OF 600.7 0.0 0.96 207 172 0.00
Charlie Culberson 0 OF,Oth 600.8 0.1 1.08 172 167 -0.02
Jake Bauers CIN OF,Oth 600.8 0.0 0.16 203 210 -0.01
Shogo Akiyama CIN OF 600.8 -0.1 0.29 236 203 -0.02
Adam Haseley CHW OF 600.9 0.0 NA 191 0 -0.01
Chris Owings 0 IF 600.9 0.0 0.92 194 173 -0.02
DJ Stewart BAL OF 600.9 0.5 2.11 130 147 0.02
Estevan Florial 0 OF 600.9 0.1 NA 178 -8 -0.01
Lewis Brinson 0 OF 600.9 0.0 0.50 213 192 -0.02
Skye Bolt OAK OF 600.9 0.2 0.38 167 200 0.00
Taylor Trammell 0 OF 600.9 0.0 0.38 223 201 -0.02
TJ Friedl 0 OF 600.9 0.1 NA 189 -24 -0.01
Jake McCarthy ARI OF 601.0 0.0 2.87 204 129 -0.02
Luke Raley TBR OF 601.0 0.0 0.41 215 197 -0.01
Adam Eaton 0 OF 999.0 0.2 1.16 155 164 -0.01
Alfonso Rivas CHC OF,Oth 999.0 0.0 NA 192 -2 -0.02
Brennen Davis CHC OF 999.0 0.2 NA 157 -3 0.01
Brock Holt ATL IF 999.0 0.0 0.54 193 189 -0.02
Christin Stewart BOS OF 999.0 0.0 NA 195 -4 -0.02
Cody Thomas 0 OF 999.0 0.1 NA 173 -5 0.00
Daniel Johnson CLE OF 999.0 0.0 0.38 196 199 -0.02
Danny Santana 0 OF,Oth 999.0 0.0 0.42 197 196 -0.01
Delino DeShields MIA OF 999.0 0.0 0.24 199 207 -0.01
Derek Hill DET OF 999.0 0.1 0.87 176 176 -0.01
Dexter Fowler 0 OF 999.0 -0.1 NA 230 -6 -0.02
Gilberto Celestino MIN OF 999.0 0.1 0.18 179 209 -0.01
Guillermo Heredia ATL OF 999.0 -0.1 1.12 231 166 -0.01
Heliot Ramos 0 OF 999.0 0.1 NA 180 -11 -0.01
Jake Cave MIN OF 999.0 -0.1 0.50 232 191 -0.01
Jake Marisnick 0 OF 999.0 0.1 1.01 181 170 -0.01
Jared Oliva 0 OF 999.0 0.0 NA 205 -12 -0.01
Jarrod Dyson 0 OF 999.0 0.0 0.57 206 188 -0.01
Josh Palacios 0 OF 999.0 0.0 NA 208 -15 -0.01
Juan Lagares 0 OF 999.0 0.0 0.68 209 181 -0.02
Khris Davis 0 OF 999.0 0.0 0.72 211 179 -0.02
Kyle Garlick MIN OF 999.0 0.0 0.60 212 187 -0.02
Luis Barrera 0 OF 999.0 0.0 NA 214 -17 -0.01
Luke Williams SFG OF 999.0 0.0 0.46 216 195 -0.02
Magneuris Sierra LAA OF 999.0 -0.2 0.28 240 205 0.00
Matt Joyce PHI OF 999.0 -0.1 0.26 233 206 -0.01
Micker Adolfo CHW OF 999.0 0.0 NA 218 -19 -0.02
Pablo Reyes MIL OF,Oth 999.0 0.1 0.34 185 202 -0.01
Rob Refsnyder BOS OF 999.0 0.0 0.40 222 198 -0.02
Roman Quinn 0 OF 999.0 -0.1 0.23 234 208 -0.02
Romy Gonzalez CHW OF,Oth 999.0 0.1 NA 186 -22 -0.01
Ryan McKenna BAL OF 999.0 0.1 0.28 187 204 -0.01
Shed Long Jr. BAL OF,Oth 999.0 0.2 1.02 166 169 0.00
Travis Jankowski NYM OF 999.0 -0.1 0.62 237 185 -0.02
Tyler Nevin BAL OF,Oth 999.0 0.0 NA 224 -26 -0.01
Yairo Muñoz 0 OF,Oth 999.0 0.0 NA 225 -28 -0.01
Zach Reks 0 OF 999.0 0.0 NA 227 -29 -0.02

C

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Salvador Perez KCR C 32 3.7 8.18 4 1 0.82
J.T. Realmuto PHI C 51 3.8 7.26 3 2 0.86
Will Smith LAD C 54 4.7 6.97 1 3 0.95
Daulton Varsho ARI C,Oth 91 2.2 5.45 9 6 0.37
Yasmani Grandal CHW C 103 3.9 6.37 2 4 0.90
Willson Contreras CHC C 111 2.7 5.79 6 5 0.75
Tyler Stephenson CIN C 135 2.9 5.21 5 7 0.78
Keibert Ruiz WSN C 146 2.2 4.28 11 10 0.65
Mitch Garver TEX C 153 2.3 4.94 8 9 0.70
Christian Vázquez BOS C 204 1.7 3.40 18 19 0.45
Alejandro Kirk TOR C 206 1.9 3.68 15 16 0.49
Elias Díaz COL C 226 1.3 4.05 25 11 0.35
Adley Rutschman BAL C 227 2.1 NA 12 0 0.60
Travis d'Arnaud ATL C 231 1.4 2.78 24 26 0.39
Sean Murphy OAK C 242 2.5 3.57 7 18 0.72
Gary Sánchez MIN C 243 1.1 3.58 33 17 0.24
Omar Narváez MIL C 255 1.7 3.10 19 21 0.47
Mike Zunino TBR C 258 2.0 5.05 14 8 0.58
Joey Bart SFG C 262 0.9 NA 37 -4 0.21
Carson Kelly ARI C 279 1.9 3.74 16 15 0.53
Max Stassi LAA C 305 1.9 4.00 17 12 0.51
Eric Haase DET C 323 0.5 3.85 52 14 0.12
Yadier Molina STL C 339 1.2 3.31 31 20 0.27
Austin Nola SDP C,Oth 379 1.6 2.78 20 27 0.21
James McCann NYM C 392 1.4 2.46 23 29 0.37
Danny Jansen TOR C 396 2.1 3.89 13 13 0.55
Jorge Alfaro SDP C 451 0.4 2.08 54 34 0.03
Luis Torrens SEA C 477 0.6 2.81 48 25 0.08
Jacob Stallings MIA C 483 2.2 3.05 10 22 0.67
Kyle Higashioka NYY C 485 1.0 2.05 35 35 0.23
MJ Melendez KCR C 492 0.4 NA 56 -7 0.06
Yan Gomes CHC C 498 1.5 2.99 22 23 0.42
Tucker Barnhart DET C 512 1.2 2.40 30 30 0.33
Ryan Jeffers MIN C 516 1.6 2.97 21 24 0.43
Francisco Mejía TBR C 531 1.1 2.64 32 28 0.31
Pedro Severino MIL C 552 0.6 1.24 49 47 0.20
Tom Murphy SEA C 555 1.2 1.80 29 39 0.30
Roberto Pérez PIT C 566 1.3 2.39 26 31 0.34
Jonah Heim TEX C 568 1.0 1.63 34 41 0.19
Martín Maldonado HOU C 576 1.2 1.98 28 37 0.26
Cal Raleigh SEA C 581 0.8 0.66 39 56 0.15
Manny Piña ATL C 584 1.2 2.27 27 32 0.28
Austin Hedges CLE C 588 0.5 1.95 50 38 0.08
Kevin Plawecki BOS C 588 0.7 1.63 42 42 0.13
Victor Caratini SDP C 589 0.7 1.09 44 48 0.11
Riley Adams WSN C 592 0.8 1.62 41 43 0.15
Dom Nuñez COL C 592 0.5 2.02 51 36 0.07
William Contreras ATL C 592 0.2 0.50 69 62 0.02
Curt Casali SFG C 593 0.9 1.50 36 45 0.18
Austin Barnes LAD C 594 0.8 1.54 38 44 0.16
Robinson Chirinos BAL C 594 0.7 2.18 43 33 0.14
Jose Trevino TEX C 598 0.2 0.99 64 50 0.04
Kurt Suzuki LAA C 598 0.2 0.86 65 53 0.02
Andrew Knizner STL C 599 0.6 0.71 45 55 0.09
Jason Castro HOU C 600 0.8 1.65 40 40 0.17
Nick Fortes 0 C 600 0.2 NA 67 -8 0.02
Aramis Garcia CIN C 600 0.1 0.66 70 57 0.00
Austin Allen OAK C 600 0.6 NA 46 -1 0.10
Reese McGuire TOR C 600 0.3 0.72 58 54 0.02
Garrett Stubbs PHI C,Oth 600 0.2 NA 63 -2 0.00
Stephen Vogt OAK C 600 -0.1 1.33 80 46 0.03
Zack Collins CHW C 600 0.3 0.64 62 59 0.09
Tomás Nido NYM C 600 0.3 1.07 60 49 0.03
Willians Astudillo MIA IF 600 0.1 0.33 76 66 -0.01
Cam Gallagher KCR C 600 0.3 0.43 57 65 0.05
Jacob Nottingham BAL C 600 0.1 NA 72 -3 0.01
Jake Rogers DET C 601 0.1 0.45 73 64 0.04
Andrew Knapp CIN C 601 -0.1 0.17 79 68 0.00
Michael Perez PIT C 601 0.4 0.88 55 52 0.06
Seby Zavala CHW C 601 0.0 0.62 78 61 0.00
Chance Sisco 0 C 601 0.0 0.08 77 70 0.01
Wilson Ramos 0 C 601 0.3 0.63 61 60 0.05
Austin Romine 0 C 999 0.1 0.20 71 67 0.01
Ben Rortvedt NYY C 999 0.6 0.98 47 51 0.22
Luis Campusano SDP C 999 0.5 NA 53 -5 0.07
Luke Maile CLE C 999 0.2 NA 66 -6 0.00
Patrick Mazeika 0 C 999 0.1 0.12 74 69 0.01
Payton Henry MIA C 999 0.2 NA 68 -9 0.02
Sandy León CLE C 999 0.3 0.65 59 58 0.00
Tres Barrera WSN C 999 0.1 0.46 75 63 0.02

DH

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Shohei Ohtani LAA DH 8.2 4.0 9.71 2 1 0.73
Yordan Alvarez HOU DH 24.7 4.2 8.62 1 2 0.86
J.D. Martinez BOS OF 88.9 2.1 8.07 4 3 0.40
Giancarlo Stanton NYY OF 95.1 2.3 7.02 3 6 0.51
Franmil Reyes CLE OF 121.7 1.9 7.93 6 4 0.32
Austin Meadows TBR OF 158.7 1.9 6.87 5 7 0.25
Nelson Cruz WSN OF 167.4 1.4 7.18 9 5 0.16
Jorge Soler MIA OF 193.2 1.5 5.94 8 8 0.25
Trey Mancini BAL OF,Oth 221.5 1.4 5.79 10 9 0.21
Michael Brantley HOU OF 255.0 1.9 5.39 7 10 0.39
Rowdy Tellez MIL 1B 386.7 0.8 3.63 11 12 0.12
Yoshi Tsutsugo PIT OF,Oth 476.4 0.4 3.47 17 14 0.02
Luis Torrens SEA C 477.0 0.6 2.81 13 17 0.08
Willie Calhoun TEX OF 503.9 0.2 3.06 20 16 0.00
Gavin Sheets CHW OF 544.5 0.5 4.03 14 11 0.09
Seth Beer ARI 1B 554.4 0.4 NA 16 -3 0.01
Miguel Cabrera DET DH 557.1 -0.4 3.48 26 13 0.00
Jed Lowrie OAK IF 584.8 0.4 3.42 15 15 0.04
Daniel Vogelbach PIT 1B 588.7 0.6 2.70 12 18 0.04
Jake Burger CHW 3B 598.1 0.1 NA 22 -1 0.01
Nick Fortes 0 C 599.6 0.2 NA 19 -2 0.02
Renato Núñez 0 1B 599.6 0.1 0.69 23 21 -0.01
Mitch Moreland 0 1B 600.9 0.2 1.62 18 19 0.00
Curtis Terry MIN DH 999.0 0.1 NA 21 0 -0.01
Khris Davis 0 OF 999.0 0.0 0.72 25 20 -0.02
Taylor Jones HOU 1B 999.0 0.1 0.48 24 22 -0.01

Pitchers by Position

My non-normalized model scores for a player are Model_Score.

All P

Name Team Position ADP WAR Model_Score WAR_Rank Pitching_Rank Pos_Scarcity
Gerrit Cole NYY SP 7.0 5.0 9.07 5 26 0.96
Shohei Ohtani LAA SP 8.2 2.7 8.21 37 55 0.64
Corbin Burnes MIL SP 9.8 5.1 9.64 4 19 0.97
Walker Buehler LAD SP 16.8 3.7 9.19 12 22 0.88
Max Scherzer NYM SP 19.0 3.7 7.00 11 97 0.89
Brandon Woodruff MIL SP 19.5 4.1 7.72 9 70 0.91
Josh Hader MIL RP 28.3 1.2 3.97 126 281 0.92
Shane Bieber CLE SP 31.0 4.3 10.55 7 6 0.93
Liam Hendriks CHW RP 31.1 1.6 4.47 91 234 0.98
Julio Urías LAD SP 32.1 3.3 8.22 20 53 0.81
Zack Wheeler PHI SP 35.4 4.5 7.12 6 91 0.94
Lucas Giolito CHW SP 38.4 3.8 9.10 10 24 0.87
Aaron Nola PHI SP 42.3 4.1 10.19 8 10 0.92
Sandy Alcantara MIA SP 42.5 3.2 8.21 23 54 0.77
Raisel Iglesias LAA RP 46.4 1.0 4.48 151 233 0.82
Robbie Ray SEA SP 47.5 3.0 7.96 27 63 0.72
Freddy Peralta MIL SP 51.4 3.5 9.04 16 27 0.84
Emmanuel Clase CLE RP 55.9 1.3 4.22 117 257 0.95
Edwin Díaz NYM RP 61.8 1.0 4.61 144 214 0.87
Ryan Pressly HOU RP 65.2 1.0 4.40 152 241 0.86
Logan Webb SFG SP 66.8 3.6 9.60 13 20 0.86
Max Fried ATL SP 67.3 3.5 7.61 17 74 0.82
Joe Musgrove SDP SP 68.4 3.1 7.34 24 84 0.75
Kevin Gausman TOR SP 71.0 3.1 7.98 25 62 0.75
Jacob deGrom NYM SP 71.8 3.2 3.79 21 301 0.98
José Berríos TOR SP 75.8 3.2 8.78 22 35 0.76
Dylan Cease CHW SP 77.5 3.3 11.08 18 3 0.79
Justin Verlander HOU SP 78.9 1.9 NA 69 -85 0.40
Kenley Jansen ATL RP 79.0 0.6 3.86 208 294 0.64
Aroldis Chapman NYY RP 80.2 0.9 5.10 160 182 0.80
Jordan Romano TOR RP 81.8 0.8 4.83 178 198 0.75
Alek Manoah TOR SP 87.8 2.7 10.10 33 13 0.66
Charlie Morton ATL SP 87.9 2.8 6.50 31 113 0.70
Trevor Rogers MIA SP 88.8 3.0 9.03 28 28 0.74
Frankie Montas OAK SP 91.2 3.3 8.68 19 39 0.78
Yu Darvish SDP SP 93.3 2.7 7.95 39 65 0.65
Carlos Rodón SFG SP 94.9 2.9 6.82 29 104 0.69
Shane McClanahan TBR SP 103.3 2.6 10.28 41 8 0.62
Lance Lynn CHW SP 106.2 2.3 4.62 52 213 0.80
Giovanny Gallegos STL RP 110.6 1.0 5.11 145 180 0.83
Blake Snell SDP SP 117.4 2.1 7.68 60 71 0.54
Chris Bassitt NYM SP 118.3 2.3 6.95 50 99 0.55
Nathan Eovaldi BOS SP 125.8 3.6 8.39 14 43 0.85
Corey Knebel PHI RP 129.2 0.5 4.15 228 266 0.52
Sean Manaea OAK SP 130.4 2.6 8.79 40 34 0.68
Clayton Kershaw LAD SP 131.8 2.5 5.48 43 154 0.59
Tyler Mahle CIN SP 132.2 2.6 9.83 42 15 0.59
Luis Garcia HOU SP 134.1 2.4 10.16 48 11 0.46
Mark Melancon ARI RP 135.4 0.5 3.69 247 310 0.39
Luis Castillo CIN SP 137.2 2.9 8.87 30 31 0.71
Pablo López MIA SP 138.0 2.7 7.25 36 88 0.65
Eduardo Rodriguez DET SP 141.5 3.5 11.61 15 1 0.83
Framber Valdez HOU SP 141.5 3.0 8.75 26 36 0.73
Taylor Rogers MIN RP 145.6 1.2 4.65 132 209 0.91
Logan Gilbert SEA SP 147.7 2.2 9.83 57 14 0.53
Scott Barlow KCR RP 148.0 0.9 5.48 171 153 0.76
Craig Kimbrel CHW RP 150.4 0.6 4.27 196 253 0.68
Ian Anderson ATL SP 152.3 2.1 8.83 61 33 0.49
Sonny Gray MIN SP 153.4 2.7 8.04 38 60 0.63
Michael Kopech CHW SP 154.4 2.5 9.00 45 30 0.61
Chris Sale BOS SP 161.7 1.7 5.77 80 138 0.44
Camilo Doval SFG RP 166.1 0.5 4.92 224 189 0.48
Luis Severino NYY SP 175.3 2.1 NA 63 -96 0.51
Zac Gallen ARI SP 175.7 2.3 9.78 54 16 0.53
Ranger Suárez PHI SP 177.3 2.5 7.50 46 78 0.57
Gregory Soto DET RP 178.4 0.5 5.83 235 133 0.46
Tarik Skubal DET SP 182.7 2.0 10.50 65 7 0.47
Patrick Sandoval LAA SP 183.7 2.3 8.64 53 40 0.56
Adam Wainwright STL SP 187.0 2.1 5.32 58 164 0.49
Shane Baz TBR SP 188.4 1.8 NA 77 -134 0.39
Marcus Stroman CHC SP 188.6 2.5 6.27 44 120 0.60
Noah Syndergaard LAA SP 189.5 1.9 NA 70 -115 0.41
Jack Flaherty STL SP 191.8 1.5 5.86 99 132 0.30
Blake Treinen LAD RP 192.6 0.8 5.11 176 181 0.71
Mike Clevinger SDP SP 192.7 1.8 NA 76 -106 0.48
David Bednar PIT RP 194.2 0.9 4.25 163 255 0.78
Tanner Houck BOS SP 197.4 2.4 8.83 49 32 0.56
Matt Barnes BOS RP 203.1 0.8 4.85 181 197 0.70
Joe Ryan MIN SP 203.5 2.2 7.96 56 64 0.52
Andrew Kittredge TBR RP 205.3 0.8 4.49 174 232 0.72
Jordan Montgomery NYY SP 206.1 2.7 8.30 35 48 0.67
Anthony DeSclafani SFG SP 211.1 1.7 6.01 78 129 0.37
Alex Wood SFG SP 211.2 1.6 6.80 86 105 0.34
José Urquidy HOU SP 211.3 1.9 6.67 68 109 0.44
Hyun Jin Ryu TOR SP 211.8 2.4 7.65 47 72 0.58
Jake McGee SFG RP 212.8 0.4 3.41 279 332 0.31
John Means BAL SP 214.2 2.7 5.86 34 131 0.62
Joe Barlow TEX RP 215.1 0.2 3.39 369 335 0.05
Lou Trivino OAK RP 219.6 0.2 4.99 386 185 0.11
Jon Gray TEX SP 221.0 2.3 9.74 51 17 0.54
Triston McKenzie CLE SP 222.0 1.5 7.76 103 69 0.31
Alex Cobb SFG SP 226.2 1.8 6.73 73 108 0.45
Jesús Luzardo MIA SP 245.1 1.0 10.22 146 9 0.14
Huascar Ynoa ATL SP 245.8 1.8 7.85 74 66 0.40
Trevor Bauer LAD SP 248.2 1.0 2.50 156 399 0.15
Steven Matz STL SP 251.2 1.9 8.27 71 49 0.43
Bailey Ober MIN SP 252.4 2.1 8.10 59 59 0.51
Garrett Whitlock BOS RP 255.2 1.4 6.44 107 116 0.96
Will Smith ATL RP 257.4 0.5 3.99 261 278 0.44
Casey Mize DET SP 259.9 1.7 7.45 79 80 0.35
Aaron Civale CLE SP 265.4 1.5 8.43 97 42 0.30
Germán Márquez COL SP 265.4 2.8 9.48 32 21 0.69
Dylan Floro MIA RP 266.4 0.4 4.20 277 259 0.33
Aaron Ashby MIL SP 267.3 1.5 6.96 96 98 0.28
Drew Rasmussen TBR SP 273.0 1.6 7.33 89 85 0.34
Paul Sewald SEA RP 275.9 0.5 5.51 252 149 0.42
Carlos Carrasco NYM SP 276.0 1.2 6.91 122 102 0.23
Cal Quantrill CLE SP 278.4 1.6 7.00 88 96 0.36
Devin Williams MIL RP 279.2 1.0 5.49 143 151 0.88
Tony Gonsolin LAD SP 287.2 1.0 7.11 155 92 0.12
Yusei Kikuchi TOR SP 297.7 1.6 9.19 94 23 0.36
Josiah Gray WSN SP 301.0 1.6 11.05 90 4 0.33
Jameson Taillon NYY SP 304.1 2.1 6.08 62 126 0.46
Tylor Megill NYM SP 304.6 1.4 7.77 113 68 0.19
Kyle Hendricks CHC SP 305.6 1.7 8.19 81 58 0.38
Zack Greinke KCR SP 309.8 1.6 6.48 95 114 0.33
Lucas Sims CIN RP 312.0 0.6 5.14 209 178 0.63
Luis Patiño TBR SP 312.4 1.5 8.71 101 37 0.27
Alex Colomé COL RP 315.5 0.1 5.29 407 166 -0.05
Rowan Wick CHC RP 319.2 0.4 4.76 293 203 0.32
Anthony Bender MIA RP 321.0 0.6 4.55 193 225 0.62
Nestor Cortes NYY SP 322.9 1.4 5.50 112 150 0.25
Cristian Javier HOU SP 325.3 1.0 7.18 142 90 0.18
Corey Kluber TBR SP 332.3 1.1 6.19 134 124 0.20
Eric Lauer MIL SP 333.8 1.4 6.92 106 101 0.26
Stephen Strasburg WSN SP 343.5 1.1 4.60 140 216 0.21
Elieser Hernandez MIA SP 344.3 0.9 6.74 164 107 0.13
Marco Gonzales SEA SP 347.5 1.7 6.43 82 117 0.38
Reid Detmers LAA SP 350.2 1.2 8.20 130 56 0.17
Hunter Greene CIN SP 355.2 1.2 NA 125 -47 0.16
Andrew Heaney LAD SP 358.3 1.2 8.33 120 45 0.25
Nick Pivetta BOS SP 359.8 1.7 10.10 84 12 0.35
Lance McCullers Jr. HOU SP 366.5 1.4 3.91 109 289 0.29
Zach Plesac CLE SP 367.5 1.4 8.32 114 46 0.27
Drew Steckenrider SEA RP 370.1 0.3 3.75 309 303 0.18
Art Warren CIN RP 372.9 0.8 2.99 175 363 0.73
Dinelson Lamet SDP RP 374.1 0.7 3.95 187 284 0.77
Tanner Rainey WSN RP 376.3 0.2 5.74 399 140 0.08
Kyle Finnegan WSN RP 389.2 0.2 5.60 382 146 0.05
Ken Giles SEA RP 391.5 0.3 NA 324 -86 0.28
Cole Sulser BAL RP 394.7 0.5 4.52 227 228 0.67
Jonathan Loáisiga NYY RP 400.9 1.0 4.92 147 190 0.85
Matt Brash SEA SP 401.0 1.1 NA 138 -99 0.12
Zach Eflin PHI SP 407.5 1.9 6.41 72 118 0.45
Kyle Gibson PHI SP 407.9 1.8 8.01 75 61 0.42
Mitch Keller PIT SP 418.1 1.4 9.08 111 25 0.24
Chad Green NYY RP 419.6 1.0 5.59 141 147 0.81
Diego Castillo SEA RP 423.1 0.6 4.73 197 205 0.60
Michael Fulmer DET RP 427.4 0.6 4.77 211 200 0.61
Patrick Corbin WSN SP 430.0 1.7 8.38 85 44 0.31
Chris Flexen SEA SP 432.1 1.9 7.49 66 79 0.41
Taijuan Walker NYM SP 432.9 0.6 5.65 216 143 0.07
Nick Lodolo CIN SP 440.1 1.3 NA 119 -110 0.16
Carlos Hernández KCR SP 456.7 1.2 8.19 123 57 0.20
Ian Kennedy ARI RP 467.5 -0.1 3.60 597 316 -0.07
Madison Bumgarner ARI SP 474.9 1.1 5.67 137 142 0.18
Adrian Houser MIL SP 479.0 1.4 5.61 105 145 0.26
Chris Paddack SDP SP 484.4 0.9 5.49 161 152 0.22
Merrill Kelly ARI SP 484.8 1.7 7.10 83 93 0.37
Pierce Johnson SDP RP 485.2 0.5 3.91 254 290 0.56
David Robertson CHC RP 487.1 0.2 NA 360 -29 0.03
Chris Stratton PIT RP 488.5 0.3 5.12 306 179 0.20
Jordan Hicks STL RP 493.5 0.5 NA 243 -74 0.30
Dakota Hudson STL SP 494.5 1.1 NA 135 -23 0.20
Miles Mikolas STL SP 496.6 1.6 5.14 93 177 0.32
Héctor Neris HOU RP 501.9 0.4 5.78 278 136 0.33
Michael Pineda DET SP 503.7 1.4 4.60 110 217 0.25
Brady Singer KCR SP 504.3 2.2 11.21 55 2 0.50
Nick Martínez SDP SP 510.4 0.6 NA 214 -112 0.10
Jorge Alcala MIN RP 517.0 0.6 4.57 204 223 0.55
Dane Dunning TEX SP 517.8 1.9 8.49 67 41 0.42
Rich Hill BOS SP 518.3 0.8 5.16 182 175 0.10
Nate Pearson TOR SP 519.1 0.6 NA 213 -109 0.08
Tyler Wells BAL RP 519.3 1.5 6.93 104 100 0.93
Alex Reyes STL RP 521.1 0.2 2.87 346 368 0.06
Dylan Bundy MIN SP 521.2 1.3 7.58 116 76 0.24
James Kaprielian OAK SP 521.6 0.9 5.79 168 134 0.17
Brad Hand PHI RP 530.4 0.1 4.56 413 224 0.02
Grayson Rodriguez BAL SP 530.8 0.9 NA 166 -45 0.14
Jake Odorizzi HOU SP 532.7 0.9 4.71 167 206 0.11
Josh Staumont KCR RP 535.3 0.4 4.52 284 229 0.38
Mychal Givens CHC RP 536.1 0.1 5.21 474 171 -0.09
Daniel Hudson LAD RP 537.8 0.5 4.59 229 219 0.49
Edward Cabrera MIA SP 539.7 0.6 5.30 199 165 0.06
Kris Bubic KCR SP 541.1 1.2 8.70 128 38 0.19
JT Brubaker PIT SP 541.4 1.4 8.26 108 52 0.27
Emilio Pagán SDP RP 544.2 0.1 4.63 434 212 -0.04
James Karinchak CLE RP 544.5 0.7 5.34 188 162 0.69
Ryan Yarbrough TBR SP 544.6 1.5 7.35 102 83 0.28
José Suarez LAA SP 545.0 1.3 7.05 118 95 0.23
Roansy Contreras NA SP 545.2 0.9 NA 170 -122 0.12
Wade Miley CHC SP 545.3 1.0 5.93 157 130 0.21
Tyler Rogers SFG RP 545.7 0.5 4.60 260 218 0.47
Kendall Graveman CHW RP 548.0 0.5 4.33 246 246 0.39
Adbert Alzolay CHC SP 548.8 0.6 3.27 191 341 0.08
Reiver Sanmartin CIN SP 549.6 1.2 NA 131 -121 0.18
Collin McHugh ATL RP 551.2 0.6 3.67 195 312 0.60
Luke Weaver ARI SP 552.1 0.8 4.41 179 240 0.19
Cole Irvin OAK SP 552.5 1.5 9.01 98 29 0.29
Matt Manning DET SP 553.3 1.2 8.31 129 47 0.21
Luis Gil NYY SP 557.2 1.0 5.39 149 158 0.11
Austin Gomber COL SP 558.5 1.2 7.37 121 82 0.22
Michael Wacha BOS SP 558.5 1.0 6.47 150 115 0.13
Michael Lorenzen LAA SP 560.7 0.5 7.84 249 67 0.06
Tyler Anderson LAD SP 562.0 0.5 4.07 259 274 0.09
Zach Thompson PIT SP 562.9 1.0 5.25 158 168 0.15
A.J. Puk OAK RP 563.4 0.9 NA 159 0 0.79
Domingo Germán NYY SP 563.7 1.1 4.70 136 207 0.17
Sixto Sánchez NA SP 564.1 1.0 NA 153 -135 0.16
Mike Minor CIN SP 565.6 1.6 6.63 92 110 0.39
Greg Holland TEX RP 566.7 -0.1 3.09 595 352 -0.11
Pete Fairbanks TBR RP 566.9 0.3 3.02 331 358 0.43
Spencer Howard TEX SP 567.7 1.0 8.26 154 51 0.15
Daniel Bard COL RP 567.9 0.4 6.22 276 123 0.25
Mike Soroka ATL SP 568.2 1.1 NA 139 -108 0.15
Reynaldo López CHW SP 571.5 0.4 3.53 291 324 0.03
Drew Smyly CHC SP 571.6 0.6 6.09 198 125 0.05
Max Meyer MIA SP 571.6 0.4 NA 288 -102 0.03
Carlos Estévez COL RP 572.6 0.2 5.34 354 161 0.07
Luis Cessa CIN RP 573.8 0.3 3.10 326 350 0.17
Tucker Davidson ATL SP 574.4 0.5 2.82 258 370 0.04
Brusdar Graterol LAD RP 575.0 0.7 4.38 183 243 0.66
Dallas Keuchel CHW SP 575.7 1.2 7.33 124 86 0.22
Hunter Strickland CIN RP 575.9 -0.1 2.74 596 378 -0.09
Trevor May NYM RP 576.3 0.4 5.38 296 159 0.38
Kyle Freeland COL SP 576.5 1.5 7.61 100 73 0.30
Daniel Lynch KCR SP 576.6 0.7 6.23 186 122 0.10
Kyle Wright ATL SP 578.7 0.2 NA 385 -94 0.02
Spencer Patton TEX RP 579.6 0.1 3.31 493 339 -0.09
Andrés Muñoz SEA RP 580.0 0.4 NA 265 -4 0.23
Cade Cavalli WSN SP 581.5 0.5 NA 223 -11 0.06
George Kirby SEA SP 582.4 0.6 NA 201 -43 0.08
Brad Keller KCR SP 582.7 1.6 9.68 87 18 0.32
Jordan Lyles BAL SP 582.9 0.6 7.05 203 94 0.08
Tyler Duffey MIN RP 583.4 0.4 4.50 298 230 0.34
Dillon Tate BAL RP 583.6 0.5 3.97 232 283 0.35
Trevor Rosenthal NA RP 583.6 0.3 NA 340 -144 0.14
José Quintana PIT SP 583.8 1.0 10.79 148 5 0.11
Mitch White LAD RP 583.9 0.3 2.39 329 405 0.42
Johnny Cueto NA SP 584.5 0.1 4.37 459 244 0.02
Richard Rodríguez NA RP 584.9 0.0 1.58 570 459 -0.11
Yimi García TOR RP 585.0 0.1 4.57 507 221 -0.01
Jake Diekman BOS RP 585.5 0.5 5.27 240 167 0.43
Taylor Hearn TEX SP 585.6 0.7 7.42 189 81 0.09
Vladimir Gutierrez CIN SP 585.6 0.3 7.51 343 77 0.03
Chris Archer MIN SP 586.4 0.7 NA 185 -14 0.07
James Paxton BOS SP 587.5 0.6 NA 202 -56 0.07
Antonio Senzatela COL SP 587.6 2.0 7.29 64 87 0.48
Brent Suter MIL RP 588.2 0.4 5.21 268 172 0.29
Tyler Matzek ATL RP 588.3 0.6 4.08 218 273 0.62
David Price LAD RP 588.7 0.5 4.57 230 222 0.45
Amir Garrett KCR RP 588.8 0.2 5.44 348 157 0.05
Tyler Alexander DET SP 589.9 0.9 5.78 172 135 0.11
Ryan Tepera LAA RP 590.3 0.5 4.12 256 269 0.34
Julian Merryweather TOR RP 590.5 0.2 NA 377 -80 0.09
Caleb Smith ARI RP 591.1 0.1 4.64 416 211 -0.11
Jorge López BAL RP 591.1 0.3 4.20 319 260 0.21
Daulton Jefferies OAK SP 591.2 0.9 NA 162 -26 0.10
Matthew Liberatore STL SP 591.5 0.5 NA 248 -101 0.07
Ross Stripling TOR SP 592.0 0.4 3.91 292 291 0.04
Matthew Boyd SFG SP 592.2 0.9 3.63 169 313 0.14
Steve Cishek WSN RP 592.2 0.0 4.01 579 277 -0.11
Zach Davies ARI SP 592.5 0.2 5.64 404 144 0.01
Cody Morris CLE SP 592.8 0.5 NA 226 -15 0.08
Erick Fedde WSN SP 592.9 0.6 6.77 200 106 0.06
Génesis Cabrera STL RP 592.9 0.5 4.90 234 194 0.57
Aaron Bummer CHW RP 593.4 1.1 5.33 133 163 0.89
Tyler Beede SFG RP 593.4 -0.1 NA 618 -146 -0.11
Spencer Strider ATL SP 593.6 0.3 NA 338 -136 0.02
Brad Boxberger MIL RP 594.0 0.2 5.08 351 184 0.05
Hansel Robles NA RP 594.3 0.0 4.76 534 204 -0.10
Alec Mills CHC SP 595.1 0.6 6.62 192 112 0.05
Andrew Chafin DET RP 595.1 0.5 3.29 220 340 0.57
Domingo Acevedo OAK RP 595.6 0.2 NA 362 -33 0.16
Drew Pomeranz SDP RP 595.6 0.1 1.93 430 442 -0.05
Kyle Muller ATL SP 595.6 0.2 2.45 384 402 0.02
David Peterson NYM SP 595.7 0.8 5.73 177 141 0.09
José Alvarado PHI RP 595.7 0.4 5.77 282 137 0.37
Glenn Otto TEX SP 595.9 0.9 5.52 165 148 0.12
Cole Winn TEX SP 596.0 0.1 NA 421 -18 0.01
Jackson Kowar KCR SP 596.0 0.5 4.85 238 195 0.05
Seranthony Domínguez PHI RP 596.0 0.2 NA 397 -133 0.09
Lucas Gilbreath COL RP 596.4 0.0 3.81 557 298 -0.11
Martín Pérez TEX SP 596.4 0.8 6.90 180 103 0.10
Seth Lugo NYM RP 596.6 0.4 4.90 294 193 0.37
J.P. Feyereisen TBR RP 596.8 0.0 4.54 538 226 -0.09
Mike Mayers LAA RP 596.8 0.5 5.14 250 176 0.50
A.J. Alexy TEX SP 596.9 0.6 4.61 190 215 0.09
Justin Dunn CIN SP 596.9 0.3 3.20 323 347 0.04
Danny Duffy LAD RP 597.0 0.2 1.19 358 473 0.12
Anthony Bass MIA RP 597.1 0.1 3.98 411 280 -0.08
Tony Santillan CIN RP 597.3 0.4 4.30 295 250 0.35
Justin Steele CHC SP 597.6 0.5 5.74 245 139 0.04
Bruce Zimmermann BAL SP 597.7 1.3 8.27 115 50 0.23
Aaron Loup LAA RP 597.8 0.4 3.05 262 354 0.21
Jeurys Familia PHI RP 598.0 0.3 4.85 317 196 0.16
Tanner Scott BAL RP 598.0 0.5 5.35 257 160 0.65
Adam Ottavino NYM RP 598.2 0.2 6.26 345 121 0.03
Dan Straily ARI SP 598.2 0.1 NA 422 -24 0.00
Robert Stephenson COL RP 598.2 0.0 4.17 571 262 -0.11
J.A. Happ NA SP 598.3 0.5 5.24 237 170 0.05
Ryne Stanek HOU RP 598.3 0.2 5.21 391 173 0.02
Brent Honeywell Jr. OAK RP 598.7 0.0 NA 520 -10 -0.11
Julian Fernández NA RP 598.7 0.0 NA 549 -79 -0.11
Aníbal Sánchez WSN SP 598.8 0.3 NA 301 -6 0.00
Garrett Richards TEX RP 598.9 0.3 4.31 313 248 0.28
Carlos Martínez SFG SP 599.2 0.0 2.51 522 397 0.00
Trevor Gott MIL RP 599.3 -0.1 NA 617 -143 -0.11
Vince Velasquez CHW SP 599.3 0.3 4.92 342 191 0.01
Sammy Long SFG SP 599.4 0.2 3.22 394 344 0.02
Cole Hamels NA SP 599.5 0.1 NA 420 -17 0.00
Jake Cousins MIL RP 599.5 0.5 3.91 239 287 0.46
Miguel Yajure PIT SP 599.6 0.1 NA 473 -104 0.00
Wil Crowe PIT SP 599.6 0.1 6.29 505 119 0.00
Bryse Wilson PIT SP 599.7 0.5 6.63 222 111 0.05
Dylan Coleman KCR RP 599.7 0.5 NA 233 -35 0.54
Joan Adon WSN SP 599.7 0.2 NA 368 -66 0.00
Paolo Espino WSN SP 599.8 0.1 3.72 481 306 0.01
Yohan Ramirez SEA RP 599.8 0.1 1.94 508 441 -0.09
Cody Stashak MIN RP 599.9 0.4 NA 272 -16 0.40
Deivi García NYY SP 599.9 0.1 NA 427 -30 0.00
Lewis Thorpe NA SP 599.9 0.1 NA 468 -95 0.03
Tyler Gilbert ARI SP 599.9 0.3 2.28 341 414 0.03
Alex Vesia LAD RP 600.0 0.4 4.12 264 268 0.20
Griffin Canning LAA SP 600.0 0.5 3.50 236 326 0.06
José Leclerc TEX RP 600.0 0.1 NA 462 -75 0.00
JT Chargois TBR RP 600.0 0.3 3.92 322 285 0.19
Matt Wisler TBR RP 600.0 0.4 4.90 287 192 0.25
Sean Doolittle WSN RP 600.0 0.0 3.91 578 286 -0.08
A.J. Minter ATL RP 600.1 0.5 4.29 219 252 0.51
Brad Wieck CHC RP 600.1 0.2 NA 352 -9 -0.03
Heath Hembree PIT RP 600.1 0.2 4.95 365 187 0.07
Trevor Richards TOR RP 600.1 0.4 4.11 297 270 0.32
Will Harris WSN RP 600.1 0.3 NA 344 -148 0.18
Chad Kuhl COL SP 600.2 0.2 6.07 355 127 0.01
Craig Stammen SDP RP 600.2 0.4 3.44 274 328 0.29
Jake Brentz KCR RP 600.2 0.3 4.50 315 231 0.15
Matt Strahm BOS RP 600.2 0.2 NA 388 -100 0.05
Sean Newcomb ATL RP 600.2 0.1 3.61 490 315 -0.06
Bailey Falter PHI RP 600.3 0.5 3.59 221 318 0.52
Brooks Raley TBR RP 600.3 0.3 4.09 304 272 0.14
Jake Woodford STL SP 600.3 0.0 3.81 541 300 0.00
Keegan Akin BAL SP 600.3 1.2 7.60 127 75 0.13
Sean Reid-Foley NYM RP 600.3 0.1 3.09 491 353 -0.10
Tim Mayza TOR RP 600.3 0.6 4.30 217 251 0.59
Austin Voth WSN RP 600.4 0.0 4.46 515 236 -0.11
Kervin Castro SFG RP 600.4 0.2 NA 379 -88 0.10
Touki Toussaint NA SP 600.4 0.1 1.90 497 444 0.00
Griffin Jax MIN SP 600.5 0.0 3.20 533 346 0.00
J.B. Bukauskas ARI RP 600.5 -0.1 NA 599 -52 -0.06
Jakob Junis SFG RP 600.5 0.1 3.72 446 305 0.02
Josh Fleming TBR SP 600.5 0.6 6.07 206 128 0.07
Justus Sheffield SEA SP 600.5 0.4 5.25 285 169 0.03
Kolby Allard TEX RP 600.5 0.2 3.01 381 360 0.13
Phil Bickford LAD RP 600.5 0.4 3.36 290 336 0.26
Scott Effross CHC RP 600.5 0.2 NA 395 -131 0.06
Sergio Romo SEA RP 600.5 0.1 3.91 492 288 -0.11
Clay Holmes NYY RP 600.6 0.6 4.58 194 220 0.58
D.L. Hall NA SP 600.6 0.4 NA 275 -22 0.04
Demarcus Evans NA RP 600.6 0.0 2.23 527 419 -0.11
Nick Wittgren STL RP 600.6 0.1 4.14 478 267 -0.05
Pedro Báez HOU RP 600.6 -0.2 NA 629 -118 -0.02
Ryan Rolison NA SP 600.6 0.3 NA 334 -127 0.02
Aaron Sanchez WSN SP 600.7 0.0 1.61 512 458 0.00
Archie Bradley LAA RP 600.7 0.2 4.42 350 239 0.03
Colin Poche TBR RP 600.7 0.3 NA 307 -19 0.21
Dauri Moreta CIN RP 600.7 0.1 NA 425 -27 -0.03
Deolis Guerra OAK RP 600.7 0.2 2.09 361 424 0.06
Drew VerHagen STL RP 600.7 0.3 NA 310 -34 0.04
Eli Morgan CLE SP 600.7 0.1 3.68 433 311 0.01
Erik Swanson SEA RP 600.7 0.3 2.54 311 395 0.14
Hunter Harvey WSN RP 600.7 0.0 NA 535 -48 -0.09
José Álvarez SFG RP 600.7 0.2 2.08 374 426 -0.02
Michael King NYY RP 600.7 0.6 3.25 212 343 0.50
Richard Bleier MIA RP 600.7 0.5 2.91 255 365 0.44
Adam Cimber TOR RP 600.8 0.3 2.79 300 373 0.19
Austin Adams SDP RP 600.8 0.4 3.27 266 342 0.22
Casey Sadler SEA RP 600.8 0.3 1.76 305 452 0.19
Dillon Peters PIT SP 600.8 0.0 5.45 530 156 0.00
Dominic Leone SFG RP 600.8 0.1 3.43 429 331 -0.04
Hirokazu Sawamura BOS RP 600.8 0.1 4.76 439 202 -0.11
J.B. Wendelken ARI RP 600.8 0.2 4.77 366 201 0.04
Joe Ross WSN SP 600.8 0.5 2.32 241 408 0.09
Josh Rogers WSN SP 600.8 0.0 2.87 548 367 0.00
Josh Taylor BOS RP 600.8 0.6 4.24 207 256 0.47
Louis Head MIA RP 600.8 0.2 1.10 387 477 0.12
Nick Sandlin CLE RP 600.8 0.5 3.60 251 317 0.49
Peter Lambert COL SP 600.8 0.3 NA 332 -119 0.03
Randy Dobnak MIN SP 600.8 0.3 2.19 333 423 0.04
Ryan Brasier BOS RP 600.8 0.0 NA 573 -125 -0.11
Ryan Helsley STL RP 600.8 0.1 4.35 486 245 -0.03
Ryan Weathers SDP SP 600.8 0.1 1.94 488 439 0.02
Taylor Widener ARI RP 600.8 0.0 2.45 582 403 -0.11
Tyler Clippard NA RP 600.8 -0.2 1.98 631 435 -0.03
Zack Littell SFG RP 600.8 0.1 3.71 510 307 -0.04
Anthony Gose CLE RP 600.9 -0.3 NA 633 -7 -0.01
Brett Anderson NA SP 600.9 0.4 2.56 269 393 0.05
Bryan Shaw CLE RP 600.9 -0.1 4.65 590 210 -0.08
Caleb Ferguson LAD RP 600.9 0.2 NA 353 -12 0.22
Chris Martin CHC RP 600.9 0.4 3.54 271 323 0.27
Connor Brogdon PHI RP 600.9 0.4 3.82 273 297 0.31
Jarlín García SFG RP 600.9 0.1 3.86 449 295 -0.11
Jharel Cotton MIN RP 600.9 0.1 2.31 454 409 -0.02
Joely Rodríguez NYY RP 600.9 0.5 4.94 242 188 0.55
Jordan Balazovic NA SP 600.9 0.2 NA 373 -73 0.01
Josh Sborz TEX RP 600.9 0.3 4.65 320 208 0.17
Julio Teheran NA SP 600.9 -0.1 NA 604 -81 0.00
Miguel Castro NYM RP 600.9 0.2 3.97 389 282 -0.03
Phil Maton HOU RP 600.9 0.5 5.47 253 155 0.35
Sam Coonrod PHI RP 600.9 0.3 3.70 336 308 0.24
Steven Brault CHC SP 600.9 0.0 2.55 580 394 0.00
Yonny Chirinos TBR SP 600.9 0.4 NA 299 -150 0.05
Andre Jackson NA SP 601.0 0.1 NA 409 -3 0.00
Caleb Thielbar MIN RP 601.0 0.7 4.15 184 265 0.67
Ethan Small MIL SP 601.0 0.3 NA 312 -37 0.03
Grant Holmes OAK RP 601.0 0.2 NA 364 -44 -0.11
Joe Kelly CHW RP 601.0 0.4 3.01 280 361 0.36
Josh James NA RP 601.0 0.2 NA 376 -76 0.08
Logan Allen CLE SP 601.0 0.0 2.88 556 366 0.00
Mike Foltynewicz NA SP 601.0 -0.1 3.02 609 359 0.00
Noé Ramirez ARI RP 601.0 0.1 2.73 479 379 -0.09
Tommy Kahnle LAD RP 601.0 0.2 NA 401 -142 0.10
Trevor Williams NYM RP 601.0 0.2 3.76 402 302 0.01
Wily Peralta DET SP 601.0 0.1 2.28 506 411 0.00
Yusmeiro Petit NA RP 601.0 -0.3 3.32 638 338 -0.02
Aaron Fletcher PIT RP 999.0 0.0 NA 511 -1 -0.11
Adam Morgan NA RP 999.0 0.1 3.09 406 351 -0.11
Adam Oller OAK SP 999.0 0.4 NA 263 -2 0.01
Albert Abreu NYY RP 999.0 -0.1 3.89 587 293 -0.10
Alex Claudio NYM RP 999.0 0.0 2.44 513 404 -0.11
Alex Lange DET RP 999.0 0.1 4.02 408 276 -0.02
Alexander Wells NA RP 999.0 0.2 3.03 347 356 0.10
Andres Machado WSN RP 999.0 -0.2 2.30 622 410 -0.05
Andrew Miller NA RP 999.0 -0.1 2.48 588 401 -0.07
Andrew Wantz LAA RP 999.0 0.2 3.02 349 357 0.26
Angel Perdomo NA RP 999.0 0.1 NA 410 -5 -0.06
Anthony Banda PIT RP 999.0 -0.2 4.33 623 247 -0.05
Anthony Misiewicz SEA RP 999.0 0.3 4.31 302 249 0.15
Ashton Goudeau COL RP 999.0 -0.3 1.61 634 457 -0.03
Austin Davis BOS RP 999.0 0.3 3.55 303 322 0.09
Austin Warren LAA RP 999.0 0.4 3.81 267 299 0.40
Ben Bowden COL RP 999.0 0.0 2.19 516 421 -0.08
Blake Parker NA RP 999.0 0.0 1.39 517 465 -0.09
Blake Taylor HOU RP 999.0 0.1 3.44 412 330 -0.02
Brad Brach ATL RP 999.0 0.0 2.66 518 381 -0.11
Brandon Bielak HOU RP 999.0 0.1 2.01 414 433 -0.02
Brandon Kintzler NA RP 999.0 0.0 2.35 519 406 -0.11
Brandon Workman NA RP 999.0 -0.1 2.19 589 422 -0.05
Brett Martin TEX RP 999.0 0.4 3.57 270 320 0.27
Bryan Abreu HOU RP 999.0 0.1 3.13 415 348 -0.04
Bryan Garcia NA RP 999.0 -0.2 2.58 624 392 -0.03
Buck Farmer NA RP 999.0 -0.1 2.49 591 400 -0.06
Chase Anderson NA SP 999.0 0.0 0.96 523 483 0.00
Chasen Shreve NYM RP 999.0 -0.2 1.88 625 446 -0.07
Chaz Roe NA RP 999.0 0.0 NA 524 -13 -0.11
Chi Chi González NA SP 999.0 -0.2 2.59 626 390 0.00
Chris Mazza TBR SP 999.0 0.2 1.06 356 478 0.01
Cionel Pérez BAL RP 999.0 0.5 4.16 225 264 0.41
Cody Ponce NA SP 999.0 0.1 2.27 418 415 0.00
Cody Poteet MIA RP 999.0 0.1 1.84 419 449 -0.11
Cory Abbott NA SP 999.0 0.0 NA 525 -20 0.00
Cristopher Sánchez PHI SP 999.0 0.3 NA 308 -21 0.02
Dan Winkler TEX RP 999.0 -0.1 2.02 592 432 -0.06
Daniel Norris CHC RP 999.0 0.2 4.81 357 199 0.02
Danny Coulombe MIN RP 999.0 0.1 1.32 423 470 -0.08
Darren O'Day ATL RP 999.0 0.1 NA 424 -25 -0.11
Darwinzon Hernandez BOS RP 999.0 0.2 3.51 359 325 0.11
David Phelps TOR RP 999.0 0.1 NA 426 -28 -0.06
Dean Kremer BAL SP 999.0 0.5 4.17 231 263 0.06
Dellin Betances NA RP 999.0 0.0 NA 526 -31 -0.11
Dennis Santana TEX RP 999.0 0.0 3.04 528 355 -0.11
Derek Holland BOS RP 999.0 -0.1 3.10 593 349 -0.07
Dillon Maples NA RP 999.0 0.0 1.03 529 480 -0.11
Domingo Tapia KCR RP 999.0 0.0 2.78 531 374 -0.09
Drew Smith NYM RP 999.0 0.1 2.76 431 376 0.01
Duane Underwood Jr. PIT RP 999.0 0.1 4.04 432 275 -0.11
Enyel De Los Santos CLE RP 999.0 0.1 2.09 435 425 -0.01
Erasmo Ramírez NA RP 999.0 -0.3 1.10 635 476 -0.02
Eric Hanhold NA RP 999.0 -0.1 NA 594 -36 -0.06
Ervin Santana NA RP 999.0 -0.4 1.46 639 463 0.00
Evan Phillips LAD RP 999.0 0.1 NA 436 -38 -0.07
Fernando Abad NA RP 999.0 0.0 NA 532 -39 -0.11
Francisco Perez WSN RP 999.0 0.1 NA 437 -40 -0.02
Gabe Speier KCR RP 999.0 0.2 NA 363 -41 0.09
Hans Crouse NA SP 999.0 0.1 NA 438 -46 0.00
Hoby Milner MIL RP 999.0 0.1 1.79 440 451 -0.08
Humberto Castellanos ARI SP 999.0 0.1 2.67 441 380 0.00
Ian Gibaut CLE RP 999.0 0.0 NA 536 -49 -0.11
Ian Krol SDP RP 999.0 -0.1 NA 598 -50 -0.11
Isaac Mattson BAL RP 999.0 0.1 NA 442 -51 -0.11
J.C. Mejía MIL RP 999.0 0.0 2.77 537 375 -0.11
Jace Fry WSN RP 999.0 0.1 NA 443 -53 -0.05
Jacob Barnes DET RP 999.0 0.1 2.06 444 430 -0.05
Jacob Webb NA RP 999.0 0.0 2.32 539 407 -0.11
Jaime Barría LAA SP 999.0 0.3 4.46 314 235 0.04
Jake Arrieta NA SP 999.0 0.0 2.79 540 372 0.00
Jake Reed NYM RP 999.0 0.1 NA 445 -54 -0.06
Jalen Beeks TBR RP 999.0 0.1 NA 447 -55 0.04
Jandel Gustave MIL RP 999.0 0.1 NA 448 -57 -0.04
Janson Junk LAA SP 999.0 0.0 NA 542 -58 0.00
Jason Foley DET RP 999.0 -0.1 NA 600 -59 -0.08
Javy Guerra SDP RP 999.0 0.1 NA 450 -60 0.04
Jay Jackson ATL RP 999.0 0.1 2.74 451 377 -0.07
JD Hammer COL RP 999.0 0.1 2.07 452 428 -0.08
Jeff Hoffman CIN RP 999.0 0.0 4.19 543 261 -0.11
Jeffrey Springs TBR RP 999.0 0.3 3.41 316 333 0.17
Jerad Eickhoff PIT RP 999.0 -0.1 NA 601 -61 -0.09
Jesse Chavez NA RP 999.0 0.1 2.82 453 369 -0.11
Jesse Hahn NA RP 999.0 -0.1 NA 602 -62 -0.04
Jhonathan Diaz NA RP 999.0 0.2 NA 367 -63 0.08
Jhoulys Chacín COL RP 999.0 -0.3 3.56 636 321 0.00
Jimmy Herget LAA RP 999.0 0.0 NA 544 -64 -0.11
Jimmy Lambert NA SP 999.0 0.1 NA 455 -65 0.01
Joe Jiménez DET RP 999.0 0.2 5.10 370 183 0.07
Joe Mantiply ARI RP 999.0 0.2 3.00 371 362 0.03
Joe Smith MIN RP 999.0 0.1 3.44 456 329 -0.01
Joel Payamps KCR RP 999.0 0.3 1.86 318 447 0.12
Joey Krehbiel BAL RP 999.0 0.0 NA 545 -67 -0.11
Johan Oviedo NA SP 999.0 0.1 2.51 457 398 0.01
John Brebbia SFG RP 999.0 0.1 NA 458 -68 -0.04
John King TEX RP 999.0 0.4 2.94 281 364 0.53
Jon Heasley KCR SP 999.0 0.2 NA 372 -69 0.01
Jonathan Hernández TEX RP 999.0 0.1 NA 460 -70 -0.03
Jordan Holloway NA RP 999.0 0.0 1.70 547 455 -0.08
Jordan Sheffield COL RP 999.0 -0.1 1.34 603 469 -0.05
José Cisnero DET RP 999.0 0.4 5.20 283 174 0.24
José Quijada LAA RP 999.0 0.6 3.89 205 292 0.53
José Ruiz CHW RP 999.0 0.2 2.28 375 413 0.00
José Ureña MIL SP 999.0 -0.2 1.98 627 434 0.00
Josh Tomlin NA RP 999.0 -0.3 2.63 637 382 -0.01
Josh Winder MIN SP 999.0 0.5 NA 244 -77 0.04
Jovani Moran MIN RP 999.0 0.3 NA 321 -78 0.20
Juan Minaya MIN RP 999.0 0.1 1.49 463 462 -0.08
Junior Fernández NA RP 999.0 0.1 1.38 464 468 -0.10
Junior Guerra NA RP 999.0 -0.1 2.24 605 418 -0.11
Justin Anderson TEX RP 999.0 0.0 NA 550 -82 -0.11
Justin Bruihl LAD RP 999.0 0.2 NA 378 -83 0.01
Justin Lawrence COL RP 999.0 0.0 NA 551 -84 -0.11
Justin Wilson CIN RP 999.0 0.1 3.69 465 309 -0.05
Keegan Thompson CHC RP 999.0 0.0 4.43 552 238 -0.11
Keone Kela ARI RP 999.0 0.0 NA 553 -87 -0.11
Kirby Snead OAK RP 999.0 0.4 NA 286 -89 0.30
Kodi Whitley STL RP 999.0 0.2 2.06 380 429 0.00
Konnor Pilkington CLE RP 999.0 0.1 NA 466 -90 -0.11
Kyle Bradish NA SP 999.0 0.3 NA 325 -92 0.02
Kyle Funkhouser DET RP 999.0 0.1 4.96 467 186 -0.06
Kyle McGowin NA RP 999.0 0.2 1.90 383 445 0.07
Kyle Tyler NA RP 999.0 0.0 NA 554 -93 -0.04
Kyle Zimmer NA RP 999.0 0.0 1.84 555 448 -0.04
MacKenzie Gore SDP SP 999.0 0.6 NA 210 -97 0.07
Manuel Rodríguez CHC RP 999.0 0.1 NA 470 -98 -0.02
Mason Thompson WSN RP 999.0 0.0 1.92 558 443 -0.11
Matt Foster CHW RP 999.0 0.1 2.26 471 416 -0.03
Matt Harvey NA SP 999.0 0.3 2.59 327 388 0.03
Matt Moore TEX RP 999.0 0.0 1.96 559 437 -0.08
Matt Shoemaker NA SP 999.0 0.0 1.71 561 454 0.00
Max Kranick PIT SP 999.0 0.3 2.52 328 396 0.03
Michael Feliz BOS RP 999.0 0.0 2.28 562 412 -0.11
Michael Rucker CHC RP 999.0 0.0 2.63 563 384 -0.11
Miguel Del Pozo DET RP 999.0 0.1 NA 472 -103 0.00
Miguel Sánchez MIL RP 999.0 0.0 1.50 564 461 -0.11
Mike Baumann BAL RP 999.0 0.0 NA 565 -105 -0.11
Mike Fiers NA SP 999.0 -0.2 NA 628 -107 0.00
Nabil Crismatt SDP RP 999.0 0.0 1.80 566 450 -0.11
Nick Margevicius SEA SP 999.0 0.1 NA 475 -111 0.01
Nick Mears PIT RP 999.0 0.0 2.59 567 387 -0.11
Nick Neidert NA RP 999.0 -0.1 1.58 610 460 -0.04
Nick Nelson PHI RP 999.0 0.1 NA 476 -113 -0.08
Nick Snyder TEX RP 999.0 0.1 NA 477 -114 -0.07
Oliver Drake TBR RP 999.0 0.1 NA 480 -116 -0.03
Oliver Pérez ARI RP 999.0 0.0 NA 568 -117 -0.11
Packy Naughton NA SP 999.0 0.3 1.94 330 440 0.03
Patrick Murphy WSN RP 999.0 0.4 3.83 289 296 0.23
Paul Blackburn OAK SP 999.0 0.6 4.20 215 258 0.01
Phillips Valdez BOS RP 999.0 -0.1 1.96 611 436 -0.10
Rafael Dolis NA RP 999.0 0.0 3.45 569 327 -0.11
Rafael Montero HOU RP 999.0 0.1 4.11 483 271 -0.07
Ralph Garza Jr. NA RP 999.0 -0.1 1.65 612 456 -0.09
Rex Brothers MIL RP 999.0 -0.1 2.06 613 431 -0.11
Robert Gsellman CHC RP 999.0 -0.1 0.85 614 484 -0.07
Rony García DET RP 999.0 -0.2 NA 630 -124 -0.07
Ross Detwiler NA RP 999.0 0.0 2.63 572 383 -0.11
Ryan Borucki TOR RP 999.0 0.1 2.19 484 420 -0.01
Ryan Burr CHW RP 999.0 0.0 2.61 574 385 -0.11
Ryan Feltner NA SP 999.0 0.1 NA 485 -126 0.00
Ryan Hendrix CIN RP 999.0 0.0 3.58 575 319 -0.11
Ryan Sherriff PHI RP 999.0 0.1 NA 487 -128 -0.05
Ryan Thompson TBR RP 999.0 0.3 3.35 335 337 0.22
Ryne Harper NA RP 999.0 0.1 1.44 489 464 -0.09
Ryne Nelson ARI SP 999.0 0.2 NA 390 -129 0.00
Sam Hentges CLE RP 999.0 0.2 4.52 392 227 0.11
Sam Howard PIT RP 999.0 0.2 4.40 393 242 0.09
Sam Moll OAK RP 999.0 0.0 NA 576 -130 -0.11
Sam Selman OAK RP 999.0 0.0 1.39 577 467 -0.11
Scott Kazmir NA SP 999.0 -0.1 NA 615 -132 0.00
Sean Poppen ARI RP 999.0 0.3 3.39 337 334 0.13
Steven Okert MIA RP 999.0 0.2 2.58 398 391 0.10
T.J. McFarland STL RP 999.0 0.1 2.59 494 389 -0.01
T.J. Zeuch NA RP 999.0 0.1 NA 495 -137 -0.11
Tanner Roark NA SP 999.0 -0.1 NA 616 -138 0.00
Taylor Clarke KCR RP 999.0 0.0 3.62 581 314 -0.11
Thomas Hatch NA RP 999.0 0.1 NA 496 -139 -0.07
Tim Hill SDP RP 999.0 0.3 3.75 339 304 0.16
Tobias Myers CLE SP 999.0 0.2 NA 400 -140 0.02
Tommy Hunter NA RP 999.0 0.0 NA 583 -141 -0.11
Tony Watson NA RP 999.0 0.0 2.80 584 371 -0.11
Trent Thornton TOR RP 999.0 0.1 2.25 498 417 -0.04
Trevor Cahill NA SP 999.0 0.1 1.71 499 453 0.01
Trevor Stephan CLE RP 999.0 0.1 4.44 500 237 -0.07
Tyler Kinley COL RP 999.0 0.1 4.27 502 254 -0.11
Tyler Thornburg ATL RP 999.0 -0.2 NA 632 -147 -0.03
Wade LeBlanc NA SP 999.0 0.1 1.96 503 438 0.00
Wander Suero NA RP 999.0 0.1 2.08 504 427 0.08
Wandy Peralta NYY RP 999.0 0.2 3.98 403 279 0.06
Yency Almonte LAD RP 999.0 -0.1 2.60 619 386 -0.06
Zac Lowther BAL SP 999.0 0.9 7.18 173 89 0.14
Zach Logue NA SP 999.0 0.2 NA 405 -151 0.00
Zach Pop MIA RP 999.0 0.1 3.20 509 345 0.01
Zack Burdi NA RP 999.0 -0.1 NA 621 -152 -0.09

SP

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Gerrit Cole NYY SP 7.0 5.0 5.92 2 26 0.96
Shohei Ohtani LAA SP 8.2 2.7 5.36 34 55 0.64
Corbin Burnes MIL SP 9.8 5.1 6.29 1 19 0.97
Walker Buehler LAD SP 16.8 3.7 6.00 9 22 0.88
Max Scherzer NYM SP 19.0 3.7 4.57 8 97 0.89
Brandon Woodruff MIL SP 19.5 4.1 5.04 6 70 0.91
Shane Bieber CLE SP 31.0 4.3 6.89 4 6 0.93
Julio Urías LAD SP 32.1 3.3 5.37 17 53 0.81
Zack Wheeler PHI SP 35.4 4.5 4.65 3 91 0.94
Lucas Giolito CHW SP 38.4 3.8 5.94 7 24 0.87
Aaron Nola PHI SP 42.3 4.1 6.65 5 10 0.92
Sandy Alcantara MIA SP 42.5 3.2 5.36 20 54 0.77
Robbie Ray SEA SP 47.5 3.0 5.20 24 63 0.72
Freddy Peralta MIL SP 51.4 3.5 5.90 13 27 0.84
Logan Webb SFG SP 66.8 3.6 6.27 10 20 0.86
Max Fried ATL SP 67.3 3.5 4.97 14 74 0.82
Joe Musgrove SDP SP 68.4 3.1 4.79 21 84 0.75
Kevin Gausman TOR SP 71.0 3.1 5.21 22 62 0.75
Jacob deGrom NYM SP 71.8 3.2 2.47 18 168 0.98
José Berríos TOR SP 75.8 3.2 5.73 19 35 0.76
Dylan Cease CHW SP 77.5 3.3 7.23 15 3 0.79
Justin Verlander HOU SP 78.9 1.9 NA 66 -28 0.40
Alek Manoah TOR SP 87.8 2.7 6.59 30 13 0.66
Charlie Morton ATL SP 87.9 2.8 4.24 28 112 0.70
Trevor Rogers MIA SP 88.8 3.0 5.89 25 28 0.74
Frankie Montas OAK SP 91.2 3.3 5.67 16 39 0.78
Yu Darvish SDP SP 93.3 2.7 5.19 36 65 0.65
Carlos Rodón SFG SP 94.9 2.9 4.45 26 103 0.69
Shane McClanahan TBR SP 103.3 2.6 6.71 38 8 0.62
Lance Lynn CHW SP 106.2 2.3 3.02 49 155 0.80
Blake Snell SDP SP 117.4 2.1 5.01 57 71 0.54
Chris Bassitt NYM SP 118.3 2.3 4.54 47 99 0.55
Nathan Eovaldi BOS SP 125.8 3.6 5.48 11 43 0.85
Sean Manaea OAK SP 130.4 2.6 5.74 37 34 0.68
Clayton Kershaw LAD SP 131.8 2.5 3.58 40 141 0.59
Tyler Mahle CIN SP 132.2 2.6 6.42 39 15 0.59
Luis Garcia HOU SP 134.1 2.4 6.63 45 11 0.46
Luis Castillo CIN SP 137.2 2.9 5.79 27 31 0.71
Pablo López MIA SP 138.0 2.7 4.73 33 88 0.65
Eduardo Rodriguez DET SP 141.5 3.5 7.58 12 1 0.83
Framber Valdez HOU SP 141.5 3.0 5.71 23 36 0.73
Logan Gilbert SEA SP 147.7 2.2 6.42 54 14 0.53
Ian Anderson ATL SP 152.3 2.1 5.77 58 33 0.49
Sonny Gray MIN SP 153.4 2.7 5.25 35 60 0.63
Michael Kopech CHW SP 154.4 2.5 5.87 42 30 0.61
Chris Sale BOS SP 161.7 1.7 3.77 77 131 0.44
Luis Severino NYY SP 175.3 2.1 NA 60 -32 0.51
Zac Gallen ARI SP 175.7 2.3 6.38 51 16 0.53
Ranger Suárez PHI SP 177.3 2.5 4.89 43 78 0.57
Tarik Skubal DET SP 182.7 2.0 6.85 62 7 0.47
Patrick Sandoval LAA SP 183.7 2.3 5.64 50 40 0.56
Adam Wainwright STL SP 187.0 2.1 3.47 55 144 0.49
Shane Baz TBR SP 188.4 1.8 NA 74 -53 0.39
Marcus Stroman CHC SP 188.6 2.5 4.10 41 118 0.60
Noah Syndergaard LAA SP 189.5 1.9 NA 67 -45 0.41
Jack Flaherty STL SP 191.8 1.5 3.82 95 128 0.30
Mike Clevinger SDP SP 192.7 1.8 NA 73 -38 0.48
Tanner Houck BOS SP 197.4 2.4 5.77 46 32 0.56
Joe Ryan MIN SP 203.5 2.2 5.20 53 64 0.52
Jordan Montgomery NYY SP 206.1 2.7 5.42 32 48 0.67
Anthony DeSclafani SFG SP 211.1 1.7 3.92 75 125 0.37
Alex Wood SFG SP 211.2 1.6 4.44 83 104 0.34
José Urquidy HOU SP 211.3 1.9 4.36 65 108 0.44
Hyun Jin Ryu TOR SP 211.8 2.4 4.99 44 72 0.58
John Means BAL SP 214.2 2.7 3.83 31 127 0.62
Jon Gray TEX SP 221.0 2.3 6.36 48 17 0.54
Triston McKenzie CLE SP 222.0 1.5 5.06 99 69 0.31
Alex Cobb SFG SP 226.2 1.8 4.39 70 107 0.45
Jesús Luzardo MIA SP 245.1 1.0 6.67 132 9 0.14
Huascar Ynoa ATL SP 245.8 1.8 5.12 71 66 0.40
Trevor Bauer LAD SP 248.2 1.0 1.63 139 191 0.15
Steven Matz STL SP 251.2 1.9 5.40 68 49 0.43
Bailey Ober MIN SP 252.4 2.1 5.29 56 59 0.51
Casey Mize DET SP 259.9 1.7 4.87 76 80 0.35
Aaron Civale CLE SP 265.4 1.5 5.51 93 42 0.30
Germán Márquez COL SP 265.4 2.8 6.19 29 21 0.69
Aaron Ashby MIL SP 267.3 1.5 4.54 92 98 0.28
Drew Rasmussen TBR SP 273.0 1.6 4.79 86 85 0.34
Carlos Carrasco NYM SP 276.0 1.2 4.51 115 101 0.23
Cal Quantrill CLE SP 278.4 1.6 4.57 85 96 0.36
Tony Gonsolin LAD SP 287.2 1.0 4.64 138 92 0.12
Yusei Kikuchi TOR SP 297.7 1.6 6.00 90 23 0.36
Josiah Gray WSN SP 301.0 1.6 7.22 87 4 0.33
Jameson Taillon NYY SP 304.1 2.1 3.97 59 122 0.46
Tylor Megill NYM SP 304.6 1.4 5.07 107 68 0.19
Kyle Hendricks CHC SP 305.6 1.7 5.35 78 58 0.38
Zack Greinke KCR SP 309.8 1.6 4.23 91 113 0.33
Luis Patiño TBR SP 312.4 1.5 5.69 97 37 0.27
Nestor Cortes NYY SP 322.9 1.4 3.59 106 139 0.25
Cristian Javier HOU SP 325.3 1.0 4.69 131 90 0.18
Corey Kluber TBR SP 332.3 1.1 4.04 124 120 0.20
Eric Lauer MIL SP 333.8 1.4 4.52 101 100 0.26
Stephen Strasburg WSN SP 343.5 1.1 3.01 130 157 0.21
Elieser Hernandez MIA SP 344.3 0.9 4.40 144 106 0.13
Marco Gonzales SEA SP 347.5 1.7 4.20 79 115 0.38
Reid Detmers LAA SP 350.2 1.2 5.35 122 56 0.17
Hunter Greene CIN SP 355.2 1.2 NA 118 -19 0.16
Andrew Heaney LAD SP 358.3 1.2 5.44 113 45 0.25
Nick Pivetta BOS SP 359.8 1.7 6.60 81 12 0.35
Lance McCullers Jr. HOU SP 366.5 1.4 2.55 103 165 0.29
Zach Plesac CLE SP 367.5 1.4 5.43 108 46 0.27
Matt Brash SEA SP 401.0 1.1 NA 128 -34 0.12
Zach Eflin PHI SP 407.5 1.9 4.18 69 116 0.45
Kyle Gibson PHI SP 407.9 1.8 5.23 72 61 0.42
Mitch Keller PIT SP 418.1 1.4 5.93 105 25 0.24
Patrick Corbin WSN SP 430.0 1.7 5.47 82 44 0.31
Chris Flexen SEA SP 432.1 1.9 4.89 63 79 0.41
Taijuan Walker NYM SP 432.9 0.6 3.69 174 135 0.07
Nick Lodolo CIN SP 440.1 1.3 NA 112 -42 0.16
Carlos Hernández KCR SP 456.7 1.2 5.35 116 57 0.20
Madison Bumgarner ARI SP 474.9 1.1 3.70 127 134 0.18
Adrian Houser MIL SP 479.0 1.4 3.66 100 137 0.26
Chris Paddack SDP SP 484.4 0.9 3.58 142 140 0.22
Merrill Kelly ARI SP 484.8 1.7 4.64 80 93 0.37
Dakota Hudson STL SP 494.5 1.1 NA 125 -11 0.20
Miles Mikolas STL SP 496.6 1.6 3.35 89 150 0.32
Michael Pineda DET SP 503.7 1.4 3.00 104 158 0.25
Brady Singer KCR SP 504.3 2.2 7.32 52 2 0.50
Nick Martínez SDP SP 510.4 0.6 NA 172 -44 0.10
Dane Dunning TEX SP 517.8 1.9 5.54 64 41 0.42
Rich Hill BOS SP 518.3 0.8 3.37 156 149 0.10
Nate Pearson TOR SP 519.1 0.6 NA 171 -41 0.08
Dylan Bundy MIN SP 521.2 1.3 4.95 110 76 0.24
James Kaprielian OAK SP 521.6 0.9 3.78 148 129 0.17
Grayson Rodriguez BAL SP 530.8 0.9 NA 146 -17 0.14
Jake Odorizzi HOU SP 532.7 0.9 3.08 147 153 0.11
Edward Cabrera MIA SP 539.7 0.6 3.46 164 145 0.06
Kris Bubic KCR SP 541.1 1.2 5.68 120 38 0.19
JT Brubaker PIT SP 541.4 1.4 5.39 102 52 0.27
Ryan Yarbrough TBR SP 544.6 1.5 4.80 98 83 0.28
José Suarez LAA SP 545.0 1.3 4.60 111 95 0.23
Roansy Contreras NA SP 545.2 0.9 NA 150 -48 0.12
Wade Miley CHC SP 545.3 1.0 3.87 140 126 0.21
Adbert Alzolay CHC SP 548.8 0.6 2.14 161 174 0.08
Reiver Sanmartin CIN SP 549.6 1.2 NA 123 -47 0.18
Luke Weaver ARI SP 552.1 0.8 2.88 154 160 0.19
Cole Irvin OAK SP 552.5 1.5 5.88 94 29 0.29
Matt Manning DET SP 553.3 1.2 5.43 121 47 0.21
Luis Gil NYY SP 557.2 1.0 3.52 134 143 0.11
Austin Gomber COL SP 558.5 1.2 4.81 114 82 0.22
Michael Wacha BOS SP 558.5 1.0 4.22 135 114 0.13
Michael Lorenzen LAA SP 560.7 0.5 5.12 186 67 0.06
Tyler Anderson LAD SP 562.0 0.5 2.66 188 164 0.09
Zach Thompson PIT SP 562.9 1.0 3.43 141 146 0.15
Domingo Germán NYY SP 563.7 1.1 3.07 126 154 0.17
Sixto Sánchez NA SP 564.1 1.0 NA 136 -54 0.16
Mike Minor CIN SP 565.6 1.6 4.33 88 109 0.39
Spencer Howard TEX SP 567.7 1.0 5.39 137 51 0.15
Mike Soroka ATL SP 568.2 1.1 NA 129 -40 0.15
Reynaldo López CHW SP 571.5 0.4 2.31 194 172 0.03
Drew Smyly CHC SP 571.6 0.6 3.98 163 121 0.05
Max Meyer MIA SP 571.6 0.4 NA 193 -36 0.03
Tucker Davidson ATL SP 574.4 0.5 1.84 187 181 0.04
Dallas Keuchel CHW SP 575.7 1.2 4.79 117 86 0.22
Kyle Freeland COL SP 576.5 1.5 4.97 96 73 0.30
Daniel Lynch KCR SP 576.6 0.7 4.07 158 119 0.10
Kyle Wright ATL SP 578.7 0.2 NA 219 -30 0.02
Cade Cavalli WSN SP 581.5 0.5 NA 176 -3 0.06
George Kirby SEA SP 582.4 0.6 NA 166 -16 0.08
Brad Keller KCR SP 582.7 1.6 6.32 84 18 0.32
Jordan Lyles BAL SP 582.9 0.6 4.60 168 94 0.08
José Quintana PIT SP 583.8 1.0 7.04 133 5 0.11
Johnny Cueto NA SP 584.5 0.1 2.85 236 161 0.02
Taylor Hearn TEX SP 585.6 0.7 4.85 159 81 0.09
Vladimir Gutierrez CIN SP 585.6 0.3 4.90 212 77 0.03
Chris Archer MIN SP 586.4 0.7 NA 157 -4 0.07
James Paxton BOS SP 587.5 0.6 NA 167 -20 0.07
Antonio Senzatela COL SP 587.6 2.0 4.76 61 87 0.48
Tyler Alexander DET SP 589.9 0.9 3.78 151 130 0.11
Daulton Jefferies OAK SP 591.2 0.9 NA 143 -13 0.10
Matthew Liberatore STL SP 591.5 0.5 NA 185 -35 0.07
Ross Stripling TOR SP 592.0 0.4 2.55 195 166 0.04
Matthew Boyd SFG SP 592.2 0.9 2.37 149 171 0.14
Zach Davies ARI SP 592.5 0.2 3.68 223 136 0.01
Cody Morris CLE SP 592.8 0.5 NA 177 -5 0.08
Erick Fedde WSN SP 592.9 0.6 4.42 165 105 0.06
Spencer Strider ATL SP 593.6 0.3 NA 209 -55 0.02
Alec Mills CHC SP 595.1 0.6 4.32 162 111 0.05
Kyle Muller ATL SP 595.6 0.2 1.60 218 192 0.02
David Peterson NYM SP 595.7 0.8 3.74 153 133 0.09
Glenn Otto TEX SP 595.9 0.9 3.60 145 138 0.12
Cole Winn TEX SP 596.0 0.1 NA 228 -7 0.01
Jackson Kowar KCR SP 596.0 0.5 3.17 181 152 0.05
Martín Pérez TEX SP 596.4 0.8 4.51 155 102 0.10
A.J. Alexy TEX SP 596.9 0.6 3.01 160 156 0.09
Justin Dunn CIN SP 596.9 0.3 2.09 201 177 0.04
Justin Steele CHC SP 597.6 0.5 3.75 184 132 0.04
Bruce Zimmermann BAL SP 597.7 1.3 5.40 109 50 0.23
Dan Straily ARI SP 598.2 0.1 NA 229 -12 0.00
J.A. Happ NA SP 598.3 0.5 3.42 180 148 0.05
Aníbal Sánchez WSN SP 598.8 0.3 NA 197 -2 0.00
Carlos Martínez SFG SP 599.2 0.0 1.64 249 189 0.00
Vince Velasquez CHW SP 599.3 0.3 3.21 211 151 0.01
Sammy Long SFG SP 599.4 0.2 2.10 221 175 0.02
Cole Hamels NA SP 599.5 0.1 NA 227 -6 0.00
Miguel Yajure PIT SP 599.6 0.1 NA 238 -37 0.00
Wil Crowe PIT SP 599.6 0.1 4.10 246 117 0.00
Bryse Wilson PIT SP 599.7 0.5 4.33 175 110 0.05
Joan Adon WSN SP 599.7 0.2 NA 215 -23 0.00
Paolo Espino WSN SP 599.8 0.1 2.43 240 169 0.01
Deivi García NYY SP 599.9 0.1 NA 230 -14 0.00
Lewis Thorpe NA SP 599.9 0.1 NA 237 -31 0.03
Tyler Gilbert ARI SP 599.9 0.3 1.49 210 195 0.03
Griffin Canning LAA SP 600.0 0.5 2.29 179 173 0.06
Chad Kuhl COL SP 600.2 0.2 3.96 213 123 0.01
Jake Woodford STL SP 600.3 0.0 2.48 255 167 0.00
Keegan Akin BAL SP 600.3 1.2 4.96 119 75 0.13
Touki Toussaint NA SP 600.4 0.1 1.24 243 202 0.00
Griffin Jax MIN SP 600.5 0.0 2.09 253 176 0.00
Josh Fleming TBR SP 600.5 0.6 3.96 169 124 0.07
Justus Sheffield SEA SP 600.5 0.4 3.42 192 147 0.03
D.L. Hall NA SP 600.6 0.4 NA 191 -10 0.04
Ryan Rolison NA SP 600.6 0.3 NA 208 -50 0.02
Aaron Sanchez WSN SP 600.7 0.0 1.05 248 205 0.00
Eli Morgan CLE SP 600.7 0.1 2.41 231 170 0.01
Dillon Peters PIT SP 600.8 0.0 3.56 252 142 0.00
Joe Ross WSN SP 600.8 0.5 1.51 182 193 0.09
Josh Rogers WSN SP 600.8 0.0 1.87 257 180 0.00
Peter Lambert COL SP 600.8 0.3 NA 206 -46 0.03
Randy Dobnak MIN SP 600.8 0.3 1.43 207 197 0.04
Ryan Weathers SDP SP 600.8 0.1 1.27 242 200 0.02
Brett Anderson NA SP 600.9 0.4 1.67 190 186 0.05
Jordan Balazovic NA SP 600.9 0.2 NA 217 -25 0.01
Julio Teheran NA SP 600.9 -0.1 NA 261 -27 0.00
Steven Brault CHC SP 600.9 0.0 1.67 260 187 0.00
Yonny Chirinos TBR SP 600.9 0.4 NA 196 -58 0.05
Andre Jackson NA SP 601.0 0.1 NA 225 -1 0.00
Ethan Small MIL SP 601.0 0.3 NA 199 -15 0.03
Logan Allen CLE SP 601.0 0.0 1.88 258 179 0.00
Mike Foltynewicz NA SP 601.0 -0.1 1.97 262 178 0.00
Wily Peralta DET SP 601.0 0.1 1.49 247 194 0.00
Adam Oller OAK SP 999.0 0.4 NA 189 0 0.01
Chase Anderson NA SP 999.0 0.0 0.63 250 207 0.00
Chi Chi González NA SP 999.0 -0.2 1.69 265 185 0.00
Chris Mazza TBR SP 999.0 0.2 0.69 214 206 0.01
Cody Ponce NA SP 999.0 0.1 1.48 226 196 0.00
Cory Abbott NA SP 999.0 0.0 NA 251 -8 0.00
Cristopher Sánchez PHI SP 999.0 0.3 NA 198 -9 0.02
Dean Kremer BAL SP 999.0 0.5 2.72 178 163 0.06
Hans Crouse NA SP 999.0 0.1 NA 232 -18 0.00
Humberto Castellanos ARI SP 999.0 0.1 1.75 233 183 0.00
Jaime Barría LAA SP 999.0 0.3 2.91 200 159 0.04
Jake Arrieta NA SP 999.0 0.0 1.82 254 182 0.00
Janson Junk LAA SP 999.0 0.0 NA 256 -21 0.00
Jimmy Lambert NA SP 999.0 0.1 NA 234 -22 0.01
Johan Oviedo NA SP 999.0 0.1 1.64 235 190 0.01
Jon Heasley KCR SP 999.0 0.2 NA 216 -24 0.01
José Ureña MIL SP 999.0 -0.2 1.29 266 198 0.00
Josh Winder MIN SP 999.0 0.5 NA 183 -26 0.04
Kyle Bradish NA SP 999.0 0.3 NA 202 -29 0.02
MacKenzie Gore SDP SP 999.0 0.6 NA 170 -33 0.07
Matt Harvey NA SP 999.0 0.3 1.69 203 184 0.03
Matt Shoemaker NA SP 999.0 0.0 1.11 259 204 0.00
Max Kranick PIT SP 999.0 0.3 1.64 204 188 0.03
Mike Fiers NA SP 999.0 -0.2 NA 267 -39 0.00
Nick Margevicius SEA SP 999.0 0.1 NA 239 -43 0.01
Packy Naughton NA SP 999.0 0.3 1.27 205 201 0.03
Paul Blackburn OAK SP 999.0 0.6 2.74 173 162 0.01
Ryan Feltner NA SP 999.0 0.1 NA 241 -49 0.00
Ryne Nelson ARI SP 999.0 0.2 NA 220 -51 0.00
Scott Kazmir NA SP 999.0 -0.1 NA 263 -52 0.00
Tanner Roark NA SP 999.0 -0.1 NA 264 -56 0.00
Tobias Myers CLE SP 999.0 0.2 NA 222 -57 0.02
Trevor Cahill NA SP 999.0 0.1 1.12 244 203 0.01
Wade LeBlanc NA SP 999.0 0.1 1.28 245 199 0.00
Zac Lowther BAL SP 999.0 0.9 4.69 152 89 0.14
Zach Logue NA SP 999.0 0.2 NA 224 -59 0.00

RP

WAR Ranks are for the position, and Pos_Rank is based on Model Score

Name Team Position ADP WAR Model_Score WAR_Rank Position_Rank Pos_Scarcity
Josh Hader MIL RP 28 1.2 2.59 5 117 0.92
Liam Hendriks CHW RP 31 1.6 2.92 1 76 0.98
Raisel Iglesias LAA RP 46 1.0 2.93 13 75 0.82
Emmanuel Clase CLE RP 56 1.3 2.76 4 96 0.95
Edwin Díaz NYM RP 62 1.0 3.01 10 59 0.87
Ryan Pressly HOU RP 65 1.0 2.88 14 81 0.86
Kenley Jansen ATL RP 79 0.6 2.52 36 128 0.64
Aroldis Chapman NYY RP 80 0.9 3.33 16 32 0.80
Jordan Romano TOR RP 82 0.8 3.16 22 46 0.75
Giovanny Gallegos STL RP 111 1.0 3.34 11 30 0.83
Corey Knebel PHI RP 129 0.5 2.71 48 103 0.52
Mark Melancon ARI RP 135 0.5 2.41 60 141 0.39
Taylor Rogers MIN RP 146 1.2 3.04 6 55 0.91
Scott Barlow KCR RP 148 0.9 3.58 18 13 0.76
Craig Kimbrel CHW RP 150 0.6 2.79 31 92 0.68
Camilo Doval SFG RP 166 0.5 3.21 45 39 0.48
Gregory Soto DET RP 178 0.5 3.81 54 5 0.46
Blake Treinen LAD RP 193 0.8 3.33 21 31 0.71
David Bednar PIT RP 194 0.9 2.77 17 94 0.78
Matt Barnes BOS RP 203 0.8 3.16 23 45 0.70
Andrew Kittredge TBR RP 205 0.8 2.93 19 74 0.72
Jake McGee SFG RP 213 0.4 2.23 85 159 0.31
Joe Barlow TEX RP 215 0.2 2.21 151 162 0.05
Lou Trivino OAK RP 220 0.2 3.26 164 35 0.11
Garrett Whitlock BOS RP 255 1.4 4.21 3 2 0.96
Will Smith ATL RP 257 0.5 2.61 70 114 0.44
Dylan Floro MIA RP 266 0.4 2.74 83 97 0.33
Paul Sewald SEA RP 276 0.5 3.60 63 11 0.42
Devin Williams MIL RP 279 1.0 3.59 9 12 0.88
Lucas Sims CIN RP 312 0.6 3.35 37 28 0.63
Alex Colomé COL RP 316 0.1 3.45 179 21 -0.05
Rowan Wick CHC RP 319 0.4 3.11 95 51 0.32
Anthony Bender MIA RP 321 0.6 2.97 28 67 0.62
Drew Steckenrider SEA RP 370 0.3 2.45 108 135 0.18
Art Warren CIN RP 373 0.8 1.95 20 185 0.73
Dinelson Lamet SDP RP 374 0.7 2.58 26 120 0.77
Tanner Rainey WSN RP 376 0.2 3.75 174 8 0.08
Kyle Finnegan WSN RP 389 0.2 3.65 162 9 0.05
Ken Giles SEA RP 392 0.3 NA 120 -52 0.28
Cole Sulser BAL RP 395 0.5 2.95 47 70 0.67
Jonathan Loáisiga NYY RP 401 1.0 3.21 12 40 0.85
Chad Green NYY RP 420 1.0 3.65 8 10 0.81
Diego Castillo SEA RP 423 0.6 3.09 32 53 0.60
Michael Fulmer DET RP 427 0.6 3.12 38 48 0.61
Ian Kennedy ARI RP 468 -0.1 2.35 321 145 -0.07
Pierce Johnson SDP RP 485 0.5 2.55 65 125 0.56
David Robertson CHC RP 487 0.2 NA 143 -14 0.03
Chris Stratton PIT RP 488 0.3 3.34 106 29 0.20
Jordan Hicks STL RP 494 0.5 NA 58 -43 0.30
Héctor Neris HOU RP 502 0.4 3.77 84 6 0.33
Jorge Alcala MIN RP 517 0.6 2.98 33 65 0.55
Tyler Wells BAL RP 519 1.5 4.53 2 1 0.93
Alex Reyes STL RP 521 0.2 1.87 131 188 0.06
Brad Hand PHI RP 530 0.1 2.98 184 66 0.02
Josh Staumont KCR RP 535 0.4 2.95 90 71 0.38
Mychal Givens CHC RP 536 0.1 3.40 228 23 -0.09
Daniel Hudson LAD RP 538 0.5 2.99 49 61 0.49
Emilio Pagán SDP RP 544 0.1 3.02 197 58 -0.04
James Karinchak CLE RP 544 0.7 3.49 27 19 0.69
Tyler Rogers SFG RP 546 0.5 3.00 69 60 0.47
Kendall Graveman CHW RP 548 0.5 2.83 59 85 0.39
Collin McHugh ATL RP 551 0.6 2.39 30 142 0.60
A.J. Puk OAK RP 563 0.9 NA 15 0 0.79
Greg Holland TEX RP 567 -0.1 2.02 319 175 -0.11
Pete Fairbanks TBR RP 567 0.3 1.97 123 181 0.43
Daniel Bard COL RP 568 0.4 4.06 82 4 0.25
Carlos Estévez COL RP 573 0.2 3.49 139 18 0.07
Luis Cessa CIN RP 574 0.3 2.02 121 173 0.17
Brusdar Graterol LAD RP 575 0.7 2.86 24 83 0.66
Hunter Strickland CIN RP 576 -0.1 1.79 320 196 -0.09
Trevor May NYM RP 576 0.4 3.51 98 16 0.38
Spencer Patton TEX RP 580 0.1 2.16 242 166 -0.09
Andrés Muñoz SEA RP 580 0.4 NA 73 -2 0.23
Tyler Duffey MIN RP 583 0.4 2.94 100 72 0.34
Dillon Tate BAL RP 584 0.5 2.59 51 119 0.35
Trevor Rosenthal NA RP 584 0.3 NA 128 -78 0.14
Mitch White LAD RP 584 0.3 1.56 122 213 0.42
Richard Rodríguez NA RP 585 0.0 1.03 297 254 -0.11
Yimi García TOR RP 585 0.1 2.99 250 63 -0.01
Jake Diekman BOS RP 586 0.5 3.44 56 22 0.43
Brent Suter MIL RP 588 0.4 3.40 76 24 0.29
Tyler Matzek ATL RP 588 0.6 2.67 41 110 0.62
David Price LAD RP 589 0.5 2.98 50 64 0.45
Amir Garrett KCR RP 589 0.2 3.55 133 15 0.05
Ryan Tepera LAA RP 590 0.5 2.69 67 106 0.34
Julian Merryweather TOR RP 590 0.2 NA 157 -48 0.09
Caleb Smith ARI RP 591 0.1 3.03 187 57 -0.11
Jorge López BAL RP 591 0.3 2.74 116 98 0.21
Steve Cishek WSN RP 592 0.0 2.61 306 113 -0.11
Génesis Cabrera STL RP 593 0.5 3.20 53 43 0.57
Aaron Bummer CHW RP 593 1.1 3.48 7 20 0.89
Tyler Beede SFG RP 593 -0.1 NA 335 -79 -0.11
Brad Boxberger MIL RP 594 0.2 3.31 136 34 0.05
Hansel Robles NA RP 594 0.0 3.11 269 52 -0.10
Andrew Chafin DET RP 595 0.5 2.15 43 167 0.57
Domingo Acevedo OAK RP 596 0.2 NA 145 -16 0.16
Drew Pomeranz SDP RP 596 0.1 1.26 194 241 -0.05
José Alvarado PHI RP 596 0.4 3.77 88 7 0.37
Seranthony Domínguez PHI RP 596 0.2 NA 172 -72 0.09
Lucas Gilbreath COL RP 596 0.0 2.49 286 132 -0.11
Seth Lugo NYM RP 597 0.4 3.20 96 42 0.37
J.P. Feyereisen TBR RP 597 0.0 2.97 273 68 -0.09
Mike Mayers LAA RP 597 0.5 3.36 61 27 0.50
Danny Duffy LAD RP 597 0.2 0.77 141 265 0.12
Anthony Bass MIA RP 597 0.1 2.60 182 116 -0.08
Tony Santillan CIN RP 597 0.4 2.81 97 89 0.35
Aaron Loup LAA RP 598 0.4 1.99 71 177 0.21
Jeurys Familia PHI RP 598 0.3 3.16 114 44 0.16
Tanner Scott BAL RP 598 0.5 3.49 68 17 0.65
Adam Ottavino NYM RP 598 0.2 4.09 130 3 0.03
Robert Stephenson COL RP 598 0.0 2.72 298 100 -0.11
Ryne Stanek HOU RP 598 0.2 3.40 168 25 0.02
Brent Honeywell Jr. OAK RP 599 0.0 NA 261 -6 -0.11
Julian Fernández NA RP 599 0.0 NA 279 -47 -0.11
Garrett Richards TEX RP 599 0.3 2.82 111 87 0.28
Trevor Gott MIL RP 599 -0.1 NA 334 -77 -0.11
Jake Cousins MIL RP 600 0.5 2.55 55 123 0.46
Dylan Coleman KCR RP 600 0.5 NA 52 -18 0.54
Yohan Ramirez SEA RP 600 0.1 1.27 251 240 -0.09
Cody Stashak MIN RP 600 0.4 NA 79 -9 0.40
Alex Vesia LAD RP 600 0.4 2.69 72 105 0.20
José Leclerc TEX RP 600 0.1 NA 219 -44 0.00
JT Chargois TBR RP 600 0.3 2.56 119 121 0.19
Matt Wisler TBR RP 600 0.4 3.20 92 41 0.25
Sean Doolittle WSN RP 600 0.0 2.56 305 122 -0.08
A.J. Minter ATL RP 600 0.5 2.80 42 91 0.51
Brad Wieck CHC RP 600 0.2 NA 137 -5 -0.03
Heath Hembree PIT RP 600 0.2 3.23 148 37 0.07
Trevor Richards TOR RP 600 0.4 2.69 99 107 0.32
Will Harris WSN RP 600 0.3 NA 129 -81 0.18
Craig Stammen SDP RP 600 0.4 2.25 81 155 0.29
Jake Brentz KCR RP 600 0.3 2.94 112 73 0.15
Matt Strahm BOS RP 600 0.2 NA 166 -59 0.05
Sean Newcomb ATL RP 600 0.1 2.36 239 144 -0.06
Bailey Falter PHI RP 600 0.5 2.34 44 147 0.52
Brooks Raley TBR RP 600 0.3 2.67 104 109 0.14
Sean Reid-Foley NYM RP 600 0.1 2.02 240 176 -0.10
Tim Mayza TOR RP 600 0.6 2.81 40 90 0.59
Austin Voth WSN RP 600 0.0 2.91 256 77 -0.11
Kervin Castro SFG RP 600 0.2 NA 159 -54 0.10
J.B. Bukauskas ARI RP 600 -0.1 NA 323 -29 -0.06
Jakob Junis SFG RP 600 0.1 2.43 207 137 0.02
Kolby Allard TEX RP 600 0.2 1.97 161 182 0.13
Phil Bickford LAD RP 600 0.4 2.19 94 163 0.26
Scott Effross CHC RP 600 0.2 NA 171 -71 0.06
Sergio Romo SEA RP 600 0.1 2.55 241 124 -0.11
Clay Holmes NYY RP 601 0.6 2.99 29 62 0.58
Demarcus Evans NA RP 601 0.0 1.46 264 223 -0.11
Nick Wittgren STL RP 601 0.1 2.70 231 104 -0.05
Pedro Báez HOU RP 601 -0.2 NA 342 -66 -0.02
Archie Bradley LAA RP 601 0.2 2.89 135 80 0.03
Colin Poche TBR RP 601 0.3 NA 107 -10 0.21
Dauri Moreta CIN RP 601 0.1 NA 191 -12 -0.03
Deolis Guerra OAK RP 601 0.2 1.37 144 227 0.06
Drew VerHagen STL RP 601 0.3 NA 109 -17 0.04
Erik Swanson SEA RP 601 0.3 1.66 110 208 0.14
Hunter Harvey WSN RP 601 0.0 NA 270 -25 -0.09
José Álvarez SFG RP 601 0.2 1.36 154 229 -0.02
Michael King NYY RP 601 0.6 2.12 39 169 0.50
Richard Bleier MIA RP 601 0.5 1.90 66 187 0.44
Adam Cimber TOR RP 601 0.3 1.82 101 191 0.19
Austin Adams SDP RP 601 0.4 2.14 74 168 0.22
Casey Sadler SEA RP 601 0.3 1.15 105 250 0.19
Dominic Leone SFG RP 601 0.1 2.24 193 158 -0.04
Hirokazu Sawamura BOS RP 601 0.1 3.11 201 50 -0.11
J.B. Wendelken ARI RP 601 0.2 3.11 149 49 0.04
Josh Taylor BOS RP 601 0.6 2.77 35 95 0.47
Louis Head MIA RP 601 0.2 0.72 165 267 0.12
Nick Sandlin CLE RP 601 0.5 2.35 62 146 0.49
Ryan Brasier BOS RP 601 0.0 NA 300 -68 -0.11
Ryan Helsley STL RP 601 0.1 2.84 236 84 -0.03
Taylor Widener ARI RP 601 0.0 1.60 308 211 -0.11
Tyler Clippard NA RP 601 -0.2 1.29 344 237 -0.03
Zack Littell SFG RP 601 0.1 2.42 253 138 -0.04
Anthony Gose CLE RP 601 -0.3 NA 346 -4 -0.01
Bryan Shaw CLE RP 601 -0.1 3.03 314 56 -0.08
Caleb Ferguson LAD RP 601 0.2 NA 138 -7 0.22
Chris Martin CHC RP 601 0.4 2.31 78 152 0.27
Connor Brogdon PHI RP 601 0.4 2.49 80 131 0.31
Jarlín García SFG RP 601 0.1 2.52 210 129 -0.11
Jharel Cotton MIN RP 601 0.1 1.51 215 216 -0.02
Joely Rodríguez NYY RP 601 0.5 3.22 57 38 0.55
Josh Sborz TEX RP 601 0.3 3.04 117 54 0.17
Miguel Castro NYM RP 601 0.2 2.59 167 118 -0.03
Phil Maton HOU RP 601 0.5 3.57 64 14 0.35
Sam Coonrod PHI RP 601 0.3 2.42 125 139 0.24
Caleb Thielbar MIN RP 601 0.7 2.71 25 102 0.67
Grant Holmes OAK RP 601 0.2 NA 147 -24 -0.11
Joe Kelly CHW RP 601 0.4 1.96 86 183 0.36
Josh James NA RP 601 0.2 NA 156 -45 0.08
Noé Ramirez ARI RP 601 0.1 1.78 232 197 -0.09
Tommy Kahnle LAD RP 601 0.2 NA 175 -76 0.10
Trevor Williams NYM RP 601 0.2 2.45 176 134 0.01
Yusmeiro Petit NA RP 601 -0.3 2.17 351 165 -0.02
Aaron Fletcher PIT RP 999 0.0 NA 254 -1 -0.11
Adam Morgan NA RP 999 0.1 2.02 178 174 -0.11
Albert Abreu NYY RP 999 -0.1 2.54 311 127 -0.10
Alex Claudio NYM RP 999 0.0 1.59 255 212 -0.11
Alex Lange DET RP 999 0.1 2.62 180 112 -0.02
Alexander Wells NA RP 999 0.2 1.98 132 179 0.10
Andres Machado WSN RP 999 -0.2 1.50 338 217 -0.05
Andrew Miller NA RP 999 -0.1 1.62 312 210 -0.07
Andrew Wantz LAA RP 999 0.2 1.97 134 180 0.26
Angel Perdomo NA RP 999 0.1 NA 181 -3 -0.06
Anthony Banda PIT RP 999 -0.2 2.82 339 86 -0.05
Anthony Misiewicz SEA RP 999 0.3 2.81 102 88 0.15
Ashton Goudeau COL RP 999 -0.3 1.05 347 253 -0.03
Austin Davis BOS RP 999 0.3 2.32 103 151 0.09
Austin Warren LAA RP 999 0.4 2.49 75 133 0.40
Ben Bowden COL RP 999 0.0 1.43 257 225 -0.08
Blake Parker NA RP 999 0.0 0.91 258 260 -0.09
Blake Taylor HOU RP 999 0.1 2.24 183 157 -0.02
Brad Brach ATL RP 999 0.0 1.74 259 198 -0.11
Brandon Bielak HOU RP 999 0.1 1.31 185 236 -0.02
Brandon Kintzler NA RP 999 0.0 1.53 260 214 -0.11
Brandon Workman NA RP 999 -0.1 1.43 313 226 -0.05
Brett Martin TEX RP 999 0.4 2.33 77 149 0.27
Bryan Abreu HOU RP 999 0.1 2.04 186 171 -0.04
Bryan Garcia NA RP 999 -0.2 1.68 340 207 -0.03
Buck Farmer NA RP 999 -0.1 1.62 315 209 -0.06
Chasen Shreve NYM RP 999 -0.2 1.23 341 244 -0.07
Chaz Roe NA RP 999 0.0 NA 262 -8 -0.11
Cionel Pérez BAL RP 999 0.5 2.71 46 101 0.41
Cody Poteet MIA RP 999 0.1 1.20 188 247 -0.11
Dan Winkler TEX RP 999 -0.1 1.32 316 235 -0.06
Daniel Norris CHC RP 999 0.2 3.14 140 47 0.02
Danny Coulombe MIN RP 999 0.1 0.86 189 264 -0.08
Darren O'Day ATL RP 999 0.1 NA 190 -11 -0.11
Darwinzon Hernandez BOS RP 999 0.2 2.29 142 153 0.11
David Phelps TOR RP 999 0.1 NA 192 -13 -0.06
Dellin Betances NA RP 999 0.0 NA 263 -15 -0.11
Dennis Santana TEX RP 999 0.0 1.98 265 178 -0.11
Derek Holland BOS RP 999 -0.1 2.03 317 172 -0.07
Dillon Maples NA RP 999 0.0 0.67 266 268 -0.11
Domingo Tapia KCR RP 999 0.0 1.81 267 192 -0.09
Drew Smith NYM RP 999 0.1 1.80 195 194 0.01
Duane Underwood Jr. PIT RP 999 0.1 2.63 196 111 -0.11
Enyel De Los Santos CLE RP 999 0.1 1.37 198 228 -0.01
Erasmo Ramírez NA RP 999 -0.3 0.72 348 266 -0.02
Eric Hanhold NA RP 999 -0.1 NA 318 -19 -0.06
Ervin Santana NA RP 999 -0.4 0.95 352 258 0.00
Evan Phillips LAD RP 999 0.1 NA 199 -20 -0.07
Fernando Abad NA RP 999 0.0 NA 268 -21 -0.11
Francisco Perez WSN RP 999 0.1 NA 200 -22 -0.02
Gabe Speier KCR RP 999 0.2 NA 146 -23 0.09
Hoby Milner MIL RP 999 0.1 1.17 202 249 -0.08
Ian Gibaut CLE RP 999 0.0 NA 271 -26 -0.11
Ian Krol SDP RP 999 -0.1 NA 322 -27 -0.11
Isaac Mattson BAL RP 999 0.1 NA 203 -28 -0.11
J.C. Mejía MIL RP 999 0.0 1.81 272 193 -0.11
Jace Fry WSN RP 999 0.1 NA 204 -30 -0.05
Jacob Barnes DET RP 999 0.1 1.34 205 233 -0.05
Jacob Webb NA RP 999 0.0 1.52 274 215 -0.11
Jake Reed NYM RP 999 0.1 NA 206 -31 -0.06
Jalen Beeks TBR RP 999 0.1 NA 208 -32 0.04
Jandel Gustave MIL RP 999 0.1 NA 209 -33 -0.04
Jason Foley DET RP 999 -0.1 NA 324 -34 -0.08
Javy Guerra SDP RP 999 0.1 NA 211 -35 0.04
Jay Jackson ATL RP 999 0.1 1.79 212 195 -0.07
JD Hammer COL RP 999 0.1 1.35 213 231 -0.08
Jeff Hoffman CIN RP 999 0.0 2.74 275 99 -0.11
Jeffrey Springs TBR RP 999 0.3 2.22 113 160 0.17
Jerad Eickhoff PIT RP 999 -0.1 NA 325 -36 -0.09
Jesse Chavez NA RP 999 0.1 1.84 214 189 -0.11
Jesse Hahn NA RP 999 -0.1 NA 326 -37 -0.04
Jhonathan Diaz NA RP 999 0.2 NA 150 -38 0.08
Jhoulys Chacín COL RP 999 -0.3 2.32 349 150 0.00
Jimmy Herget LAA RP 999 0.0 NA 276 -39 -0.11
Joe Jiménez DET RP 999 0.2 3.33 152 33 0.07
Joe Mantiply ARI RP 999 0.2 1.96 153 184 0.03
Joe Smith MIN RP 999 0.1 2.25 216 156 -0.01
Joel Payamps KCR RP 999 0.3 1.21 115 245 0.12
Joey Krehbiel BAL RP 999 0.0 NA 277 -40 -0.11
John Brebbia SFG RP 999 0.1 NA 217 -41 -0.04
John King TEX RP 999 0.4 1.92 87 186 0.53
Jonathan Hernández TEX RP 999 0.1 NA 218 -42 -0.03
Jordan Holloway NA RP 999 0.0 1.11 278 251 -0.08
Jordan Sheffield COL RP 999 -0.1 0.87 327 263 -0.05
José Cisnero DET RP 999 0.4 3.39 89 26 0.24
José Quijada LAA RP 999 0.6 2.54 34 126 0.53
José Ruiz CHW RP 999 0.2 1.49 155 219 0.00
Josh Tomlin NA RP 999 -0.3 1.72 350 199 -0.01
Jovani Moran MIN RP 999 0.3 NA 118 -46 0.20
Juan Minaya MIN RP 999 0.1 0.97 220 257 -0.08
Junior Fernández NA RP 999 0.1 0.90 221 262 -0.10
Junior Guerra NA RP 999 -0.1 1.47 328 222 -0.11
Justin Anderson TEX RP 999 0.0 NA 280 -49 -0.11
Justin Bruihl LAD RP 999 0.2 NA 158 -50 0.01
Justin Lawrence COL RP 999 0.0 NA 281 -51 -0.11
Justin Wilson CIN RP 999 0.1 2.41 222 140 -0.05
Keegan Thompson CHC RP 999 0.0 2.89 282 79 -0.11
Keone Kela ARI RP 999 0.0 NA 283 -53 -0.11
Kirby Snead OAK RP 999 0.4 NA 91 -55 0.30
Kodi Whitley STL RP 999 0.2 1.35 160 232 0.00
Konnor Pilkington CLE RP 999 0.1 NA 223 -56 -0.11
Kyle Funkhouser DET RP 999 0.1 3.24 224 36 -0.06
Kyle McGowin NA RP 999 0.2 1.24 163 243 0.07
Kyle Tyler NA RP 999 0.0 NA 284 -57 -0.04
Kyle Zimmer NA RP 999 0.0 1.20 285 246 -0.04
Manuel Rodríguez CHC RP 999 0.1 NA 225 -58 -0.02
Mason Thompson WSN RP 999 0.0 1.25 287 242 -0.11
Matt Foster CHW RP 999 0.1 1.48 226 220 -0.03
Matt Moore TEX RP 999 0.0 1.28 288 239 -0.08
Michael Feliz BOS RP 999 0.0 1.49 289 218 -0.11
Michael Rucker CHC RP 999 0.0 1.72 290 201 -0.11
Miguel Del Pozo DET RP 999 0.1 NA 227 -60 0.00
Miguel Sánchez MIL RP 999 0.0 0.98 291 256 -0.11
Mike Baumann BAL RP 999 0.0 NA 292 -61 -0.11
Nabil Crismatt SDP RP 999 0.0 1.17 293 248 -0.11
Nick Mears PIT RP 999 0.0 1.69 294 204 -0.11
Nick Neidert NA RP 999 -0.1 1.03 329 255 -0.04
Nick Nelson PHI RP 999 0.1 NA 229 -62 -0.08
Nick Snyder TEX RP 999 0.1 NA 230 -63 -0.07
Oliver Drake TBR RP 999 0.1 NA 233 -64 -0.03
Oliver Pérez ARI RP 999 0.0 NA 295 -65 -0.11
Patrick Murphy WSN RP 999 0.4 2.50 93 130 0.23
Phillips Valdez BOS RP 999 -0.1 1.28 330 238 -0.10
Rafael Dolis NA RP 999 0.0 2.25 296 154 -0.11
Rafael Montero HOU RP 999 0.1 2.68 234 108 -0.07
Ralph Garza Jr. NA RP 999 -0.1 1.08 331 252 -0.09
Rex Brothers MIL RP 999 -0.1 1.34 332 234 -0.11
Robert Gsellman CHC RP 999 -0.1 0.55 333 269 -0.07
Rony García DET RP 999 -0.2 NA 343 -67 -0.07
Ross Detwiler NA RP 999 0.0 1.72 299 200 -0.11
Ryan Borucki TOR RP 999 0.1 1.43 235 224 -0.01
Ryan Burr CHW RP 999 0.0 1.70 301 202 -0.11
Ryan Hendrix CIN RP 999 0.0 2.34 302 148 -0.11
Ryan Sherriff PHI RP 999 0.1 NA 237 -69 -0.05
Ryan Thompson TBR RP 999 0.3 2.19 124 164 0.22
Ryne Harper NA RP 999 0.1 0.94 238 259 -0.09
Sam Hentges CLE RP 999 0.2 2.95 169 69 0.11
Sam Howard PIT RP 999 0.2 2.87 170 82 0.09
Sam Moll OAK RP 999 0.0 NA 303 -70 -0.11
Sam Selman OAK RP 999 0.0 0.91 304 261 -0.11
Sean Poppen ARI RP 999 0.3 2.21 126 161 0.13
Steven Okert MIA RP 999 0.2 1.69 173 206 0.10
T.J. McFarland STL RP 999 0.1 1.69 243 205 -0.01
T.J. Zeuch NA RP 999 0.1 NA 244 -73 -0.11
Taylor Clarke KCR RP 999 0.0 2.36 307 143 -0.11
Thomas Hatch NA RP 999 0.1 NA 245 -74 -0.07
Tim Hill SDP RP 999 0.3 2.45 127 136 0.16
Tommy Hunter NA RP 999 0.0 NA 309 -75 -0.11
Tony Watson NA RP 999 0.0 1.83 310 190 -0.11
Trent Thornton TOR RP 999 0.1 1.47 246 221 -0.04
Trevor Stephan CLE RP 999 0.1 2.90 247 78 -0.07
Tyler Kinley COL RP 999 0.1 2.79 248 93 -0.11
Tyler Thornburg ATL RP 999 -0.2 NA 345 -80 -0.03
Wander Suero NA RP 999 0.1 1.36 249 230 0.08
Wandy Peralta NYY RP 999 0.2 2.60 177 115 0.06
Yency Almonte LAD RP 999 -0.1 1.70 336 203 -0.06
Zach Pop MIA RP 999 0.1 2.09 252 170 0.01
Zack Burdi NA RP 999 -0.1 NA 337 -82 -0.09
LS0tDQp0aXRsZTogIjIwMjIgT3ZlcmFsbCA2eDYgUHJvamVjdGlvbnMgVXBkYXRlZCINCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6DQogICAgdGhlbWU6IGNlcnVsZWFuDQogICAgaGlnaGxpZ2h0OiB0YW5nbw0KICAgIGZpZ19jYXB0aW9uOiB0cnVlDQogICAgZGZfcHJpbnQ6IHBhZ2VkDQotLS0NCg0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSkNCmtuaXRyOjpvcHRzX2tuaXQkc2V0KHJvb3QuZGlyID0gJ0M6L1VzZXJzL0FkbWluL0RvY3VtZW50cy9MZWFybmluZyBQeXRob24gRm9sZGVyMS9QeXRob24gRXNzZW5jZSBUcmFpbmluZy9GYW50YXN5LUJhc2ViYWxsL0RhdGEnKQ0Kb3B0aW9ucyhrbml0ci50YWJsZS5mb3JtYXQgPSAiaHRtbCIpIA0Kb3B0aW9ucyhkaWdpdHM9MikNCm9wdGlvbnMoc2NpcGVuID0gMTAwKQ0KYGBgDQoNCg0KYGBge3IgbG9hZCBsaWJyYXJ5LG1lc3NhZ2UgPSBGQUxTRSx3YXJuaW5nPUZBTFNFLCByZXN1bHRzPSdoaWRlJywgaW5jbHVkZT1GQUxTRX0NCmxpYnJhcnkocmVhZHIpICNyZWFkIGluIGNzdnMNCmxpYnJhcnkoc3FsZGYpICNTUUwgaW4gUg0KbGlicmFyeShza2ltcikgI1N1bW1hcmllcyBhbmQgdXNlZnVsIGZvciByZW1vdmluZyBsb3cgJSBkYXRhDQpsaWJyYXJ5KGdncGxvdDIpICNQbG90dGluZyBGdW5jdGlvbnMNCmxpYnJhcnkocGx5cikgI3NsaWdodGx5IGRlcHJlY2F0ZWQgZGF0YSBjbGVhbmluZw0KbGlicmFyeShkcGx5cikgI3NsaWdodGx5IHVwZGF0ZWQgZGF0YSBjbGVhbmluZw0KbGlicmFyeSh0aWR5dmVyc2UpICN0aWR5dmVyc2UgZGF0YSBjbGVhbmluZyB1bml2ZXJzZQ0KbGlicmFyeShjYXJldCkgI3dyYXBwZXIgZm9yIGNyZWF0aW5nLCB0dW5pbmcgYW5kIHZhbGlkYXRpbmcgbW9kZWxzDQpsaWJyYXJ5KHhnYm9vc3QpICNwYWNrYWdlIGZvciBjcmVhdGluZyByZWdyZXNzaW9uIHRyZWUgbW9kZWwNCmxpYnJhcnkodnRyZWF0KSAjIHVzZWZ1bCBwYWNrYWdlIGZvciB0cmVhdGluZyBkYXRhIGJlZm9yZSBtb2RlbGluZyANCmxpYnJhcnkoTWF0cml4KSAjY3JlYXRpbmcgbWF0cmljaWVzIGZvciB4Z2Jvb3N0DQpsaWJyYXJ5KG1nY3YpDQpsaWJyYXJ5KG1vbWVudHMpICNmb3IgbWVhc3VyaW5nIHNrZXduZXNzDQpsaWJyYXJ5KGRhdGEudGFibGUpICNhbHRlcm5hdGl2ZSB0byBkcGx5ciB3ZSB1c2UgdG8gY3JlYXRlIGxhZ3MNCmxpYnJhcnkocGRwKSAjcGFydGlhbCBkZXBlbmRlbmNlIGdyYXBocw0KbGlicmFyeSh2aXApICN2YXJpYWJsZSBpbXBvcnRhbmNlIA0KbGlicmFyeShncmlkKSAjcHV0IG11bHRpcGxlIHBsb3RzIG9uIG9uZSBncmlkDQpsaWJyYXJ5KGdyaWRFeHRyYSkgI2FkZGl0aW9uYWwgZ3JpZCBmdW5jdGlvbmFsaXR5DQpsaWJyYXJ5KGphbml0b3IpICNvbmUgZnVuY3Rpb24gdXNlZCB0byBjbGVhbiB0cmFuc3Bvc2VkIGRhdGEgc2V0DQpsaWJyYXJ5KGdncHVicikgI2ZvciBxcSBwbG90IA0KbGlicmFyeShvd21yKSAjUmVtb3ZpbmcgUHJlZml4ZXMNCmxpYnJhcnkoa2FibGVFeHRyYSkgIyBmb3JtYXR0aW5nIEhUTUwgVGFibGVzDQpsaWJyYXJ5KGZvcm1hdHRhYmxlKSAjIGZvcm1hdHRpbmcgSFRNTCBUYWJsZXMNCmxpYnJhcnkod3JhcHIpDQoNCmBgYA0KDQoNCiMjIyMgW0dvIGJhY2sgdG8gdGhlIG1haW4gcGFnZV0oaHR0cHM6Ly9kaXNzaXBhdGlvbi5naXRodWIuaW8vRGFyc2hEU1BvcnRmb2xpby8pDQoNCg0KQWxsIGRhdGEgaXMgZnJvbSBbRmFuR3JhcGhzLl0oaHR0cHM6Ly93d3cuZmFuZ3JhcGhzLmNvbS8pIEkgaGF2ZSBubyBhZmZpbGlhdGlvbiB3aXRoIEZhbkdyYXBocywgYnV0IHBsZWFzZSBjb25zaWRlciBjb250cmlidXRpbmcgdG8gdGhlaXIgW3dlYnNpdGVdKGh0dHBzOi8vcGx1cy5mYW5ncmFwaHMuY29tL3Nob3AvKSBpZiB5b3UgZm91bmQgdGhpcyBwcm9qZWN0IGluZm9ybWF0aXZlLiAgICANCg0KUG9zaXRpb25hbCBTY2FyY2l0eSBpcyBkZXRlcm1pbmVkIGJ5IFtBVEMgV0FSIFByb2plY3Rpb25zXShodHRwczovL3d3dy5mYW5ncmFwaHMuY29tL3Byb2plY3Rpb25zLmFzcHg/cG9zPWFsbCZzdGF0cz1iYXQmdHlwZT1hdGMmdGVhbT0wJmxnPWFsbCZwbGF5ZXJzPTApIGZyb20gNC0xMC0yMDIyLiAgDQoNCioqKiAgICANCg0KIyAqKldBUiBQUk9KRUNUSU9OUyBBTkQgTU9ERUwgU0NPUkVTKiogey50YWJzZXQgLnRhYnNldC1waWxsc30gICANClBsYXllcnMgdGhhdCBoYXZlIGFuIGBOQWAgZm9yIGBNb2RlbF9TY29yZWAgZGlkIG5vdCBwbGF5IGluIHRoZSBNTEIgaW4gMjAyMS4gDQpgYGB7cn0NCiMjIyBGaWxsIGluIGNvZGUNCmBgYA0KDQoNCioqKiAgICANCg0KIyMgT3ZlcmFsbCAgey50YWJzZXQgLnRhYnNldC1waWxsc30gICAgDQpNeSBtb2RlbCBzY29yZXMgZm9yIGEgcGxheWVyIGFyZSBgTW9kZWxfU2NvcmVgLiAqTm90ZTpQaXRjaGluZyBTY29yZXMgYXJlIG5vcm1hbGl6ZWQgdG8gZXF1YWwgdGhlIHN1bSBvZiBXQVIgZm9yIGhpdHRlcnMgc28gdGhleSBoYXZlIGluZmxhdGVkIG1vZGVsIHNjb3Jlcy4gT3RoZXIgdGFicyBoYXZlIG5vbi1ub3JtYWxpemVkIHNjb3Jlcy4qICANCg0KDQpgYGB7ciwgbWVzc2FnZSA9IEZBTFNFLHdhcm5pbmc9RkFMU0UsIHJlc3VsdHM9J2hpZGUnfQ0KDQpwaXRjaGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbDJhID0gc3FsZGYoDQogICINCiAgc2VsZWN0IGEuKiwgYi5QcmVkaWN0X1Njb3JlDQogIGZyb20NCiAgbG9va3VwdGFibGUyIGENCiAgbGVmdCBqb2luDQogIFBpdGNoaW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zNnggYg0KICBvbiBhLnBsYXllcmlkID0gYi5wbGF5ZXJpZA0KICAiDQopICU+JSBzZWxlY3QgKC1XQVIsIC1BRFAsIC1JUCkNCg0KaGl0dGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbDJhID0gc3FsZGYoDQogICINCiAgc2VsZWN0IGEuKiwgYi5QcmVkaWN0X1Njb3JlDQogIGZyb20NCiAgbG9va3VwdGFibGUgYQ0KICBsZWZ0IGpvaW4NCiAgaGl0dGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uczZ4YiBiDQogIG9uIGEucGxheWVyaWQgPSBiLnBsYXllcmlkDQogICINCikgICU+JSBzZWxlY3QgKC1XQVIsIC1BRFAsIC1QQSkNCg0KDQpOZXdfQURQX1dBUl9IID0gcmVhZF9jc3YoJ0ZhbkdyYXBocyBMZWFkZXJib2FyZF9IaXR0aW5nX0FUQ180XzEwLmNzdicpICU+JQ0KICBtdXRhdGUgKA0KICApICU+JSBzZWxlY3QgKFBBLCBwbGF5ZXJpZCwgQURQLCBXQVIpDQoNCg0KTmV3X0FEUF9XQVJfUCA9IHJlYWRfY3N2KCdGYW5HcmFwaHMgTGVhZGVyYm9hcmRfUGl0Y2hpbmdfQVRDXzRfMTAuY3N2JykgJT4lDQogIG11dGF0ZSAoDQogICkgJT4lIHNlbGVjdCAoSVAsIHBsYXllcmlkLCBBRFAsIFdBUikNCg0KcGl0Y2hpbmdfRGF0YV9Ob25BZGpfUHJvamVjdGlvbnNfVG90YWwyID0gc3FsZGYoDQogICINCiAgc2VsZWN0IGEuKiwgYi5XQVIsIGIuQURQLGIuSVAgZnJvbQ0KICBwaXRjaGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbDJhIGENCiAgbGVmdCBqb2luDQogIE5ld19BRFBfV0FSX1AgYg0KICBvbiBhLnBsYXllcmlkID0gYi5wbGF5ZXJpZA0KICAiDQopDQoNCg0KaGl0dGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbDIgPSBzcWxkZigNCiAgIg0KICBzZWxlY3QgYS4qLCBiLldBUiwgYi5BRFAsYi5QQSBmcm9tDQogIGhpdHRpbmdfRGF0YV9Ob25BZGpfUHJvamVjdGlvbnNfVG90YWwyYSBhDQogIGxlZnQgam9pbg0KICBOZXdfQURQX1dBUl9IIGINCiAgb24gYS5wbGF5ZXJpZCA9IGIucGxheWVyaWQNCiAgIg0KKQ0KDQoNCg0KDQpgYGANCg0KDQoNCmBgYHtyfQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwyID0NCmhpdHRpbmdfRGF0YV9Ob25BZGpfUHJvamVjdGlvbnNfVG90YWwyICU+JSANCiAgbXV0YXRlKA0KICAgIEF2Z19QQSA9IG1lYW4oUEEgLCBuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfcmF3ID0gaWZlbHNlKGlzLm5hKFByZWRpY3RfU2NvcmUpLE5BLFByZWRpY3RfU2NvcmUqKFBBL0F2Z19QQSkpDQogICkgJT4lIHNlbGVjdCgtQXZnX1BBKQ0KDQoNCkFkanVzdG1lbnRfZmFjdG9yPSAoc3VtKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwyJFdBUixuYS5ybSA9IFQpKS8oc3VtKHBpdGNoaW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zX1RvdGFsMiRXQVIsbmEucm0gPSBUKSkNCg0KRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfVG90YWwyID0NCnBpdGNoaW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zX1RvdGFsMiAlPiUgDQogIG11dGF0ZSgNCiAgICBBdmdfSVAgPSBtZWFuKElQICwgbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX3JhdyA9IGlmZWxzZShpcy5uYShQcmVkaWN0X1Njb3JlKSxOQSxQcmVkaWN0X1Njb3JlKihJUC9BdmdfSVApKkFkanVzdG1lbnRfZmFjdG9yKQ0KICApICU+JSBzZWxlY3QoLUF2Z19JUCkNCg0KDQpQaXRjaGluZ19mb3JfT3ZlcmFsbDIgPSBGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9Ub3RhbDIgJT4lIHNlbGVjdChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUixBZGpQcmVkaWN0X1Njb3JlX3JhdyxQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KICANCiAgDQpIaXR0aW5nX2Zvcl9PdmVyYWxsMiA9ICBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsMiAlPiUgc2VsZWN0KE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLEFkalByZWRpY3RfU2NvcmVfcmF3LFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KRmFuR3JhcGhfT3ZlcmFsbDIgPSByYmluZChQaXRjaGluZ19mb3JfT3ZlcmFsbDIsSGl0dGluZ19mb3JfT3ZlcmFsbDIpDQoNCmBgYA0KDQoNCmBgYHtyfQ0KDQoNCkZhbkdyYXBoX092ZXJhbGwzID0NCkZhbkdyYXBoX092ZXJhbGwyICU+JSANCiAgbXV0YXRlKA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKFdBUikpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBBZGpQcmVkaWN0X1Njb3JlX3JhdywNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmVfcmF3LHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdykpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUNCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9PdmVyYWxsM1sxOm5yb3coRmFuR3JhcGhfT3ZlcmFsbDMpLCAxOm5jb2woRmFuR3JhcGhfT3ZlcmFsbDMpXSAlPiUgDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRNb2RlbF9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCg0KYGBgDQoNCg0KDQoNCmBgYHtyfQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCA9DQpoaXR0aW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zX1RvdGFsMiAlPiUgDQogIG11dGF0ZSgNCiAgICBBdmdfUEEgPSBtZWFuKFBBICwgbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX3JhdyA9IGlmZWxzZShpcy5uYShQcmVkaWN0X1Njb3JlKSxOQSxQcmVkaWN0X1Njb3JlKihQQS9BdmdfUEEpKQ0KICApICU+JSBzZWxlY3QoLUF2Z19QQSkgJT4lIGRyb3BfbmEoV0FSKQ0KYGBgDQoNCg0KDQoNCiMjIEhpdHRlcnMgYnkgUG9zaXRpb24gey50YWJzZXQgLnRhYnNldC1waWxsc30NCk15IG5vbi1ub3JtYWxpemVkIG1vZGVsIHNjb3JlcyBmb3IgYSBwbGF5ZXIgYXJlIGBNb2RlbF9TY29yZWAuICANCg0KIyMjIE92ZXJhbGwNCg0KYGBge3J9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUgDQogIG11dGF0ZSgNCiAjICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUNCmZpbHRlcihQQSA+IDEpICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JEhpdHRpbmdfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIkhpdHRpbmdfUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQoNCmBgYA0KDQoNCiMjIyAxQg0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgIA0KYGBge3J9DQoNCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb24xYiA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCmBgYA0KDQoNCiMjIyAyQiAgICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb24yYiA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCmBgYA0KDQojIyMgM0IgICAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICAgIA0KYGBge3J9DQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uM2IgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQpgYGANCg0KIyMjIFNTICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgIA0KYGBge3J9DQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uU1MgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgIA0KYGBgDQoNCiMjIyBMRiAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICAgIA0KYGBge3J9DQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uTEYgPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQoNCmBgYA0KDQojIyMgUkYgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgICANCmBgYHtyfQ0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvblJGID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KDQpgYGANCg0KIyMjIENGICAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICAgIA0KYGBge3J9DQoNCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25DRiA9PSAxKSAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICU+JSAgIA0KICBzZWxlY3QgKE5hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPU1sxOm5yb3coRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyldICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCmBgYA0KDQojIyMgT0YgICAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICAgDQpgYGB7cn0NCg0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9Ub3RhbCAlPiUNCmZpbHRlcihQb3NpdGlvbk9GID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCiMjIyBDICANCldBUiBSYW5rcyBhcmUgZm9yIHRoZSBwb3NpdGlvbiwgYW5kIFBvc19SYW5rIGlzIGJhc2VkIG9uIE1vZGVsIFNjb3JlICAgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfVG90YWwgJT4lDQpmaWx0ZXIoUG9zaXRpb25DID09IDEpICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpLCAxOm5jb2woRmFuR3JhcGhfUG9zaXRpb25zX0JhdHRlcl9BbGxfUE9TKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KYGBgDQoNCiMjIyBESCAgDQpXQVIgUmFua3MgYXJlIGZvciB0aGUgcG9zaXRpb24sIGFuZCBQb3NfUmFuayBpcyBiYXNlZCBvbiBNb2RlbCBTY29yZSAgICAgIA0KYGBge3J9DQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX1RvdGFsICU+JQ0KZmlsdGVyKFBvc2l0aW9uREggPT0gMSkgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KDQpmdF9kdCA8LSBGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1NbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19CYXR0ZXJfQWxsX1BPUyksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfQmF0dGVyX0FsbF9QT1MpXSAlPiUgDQojJT4lIA0KI2ZpbHRlcihBZGpQcmVkaWN0X1Njb3JlX1Jhbms+MCkNCiBhcnJhbmdlKChBRFApKQ0KDQpmdF9kdCRBRFAgPC0gY29sb3JfdGlsZSgid2hpdGUiLCAicmVkIikoZnRfZHQkQURQKQ0KDQpmdF9kdCRXQVIgPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRXQVIpDQoNCg0KZnRfZHQkQWRqUHJlZGljdF9TY29yZTwtICByb3VuZCgoZnRfZHQkQWRqUHJlZGljdF9TY29yZSksMikNCg0KZnRfZHQkTW9kZWxfU2NvcmU8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpDQoNCmZ0X2R0JFdBUl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkV0FSX3JhbmspDQoNCmZ0X2R0JFBvc2l0aW9uX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlX1JhbmspIA0KDQoNCmZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8LSANCiAgaWZlbHNlKA0KICBmdF9kdCRSYW5rc19BYm92ZV9BRFAgPCAwLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJyZWQiLCBpdGFsaWMgPSBUKSwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAiZ3JlZW4iLCBpdGFsaWMgPSBUKQ0KKQ0KDQpmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5IDwtIHJvdW5kKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHksIDIpDQoNCmZ0X2R0JFBvc19TY2FyY2l0eSA8LSBjb2xvcl90aWxlKCJyZWQiLCJ3aGl0ZSIpKGZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCiNOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eQ0KDQpmdF9kdDIgPC0gZnRfZHRbYygiTmFtZSIsIlRlYW0iLCJQb3NpdGlvbiIsIkFEUCIsICJXQVIiLCAiTW9kZWxfU2NvcmUiLCAiV0FSX1JhbmsiLCJQb3NpdGlvbl9SYW5rIiwiUG9zX1NjYXJjaXR5IildDQoNCg0KdGFibGVfZXhwb3J0ID0gDQprYmwoZnRfZHQyLCBlc2NhcGUgPSBGKSAlPiUgDQoga2FibGVfbWF0ZXJpYWwoYygic3RyaXBlZCIsICJob3ZlciIsImNvbmRlbnNlZCIsInJlc3BvbnNpdmUiKSxmdWxsX3dpZHRoID0gRixmaXhlZF90aGVhZCA9IFQpICU+JSAgIGNvbHVtbl9zcGVjKDYsIHdpZHRoID0gIjNjbSIpIyAlPiUNCiAjIGFkZF9oZWFkZXJfYWJvdmUoYygiICIsICJTY29yZXMiID0gNSwgIlJhbmtzIiA9IDMsIiAiKSkNCg0KdGFibGVfZXhwb3J0ICANCmBgYA0KDQoNCg0KIyMgUGl0Y2hlcnMgYnkgUG9zaXRpb24gey50YWJzZXQgLnRhYnNldC1waWxsc30gIA0KTXkgbm9uLW5vcm1hbGl6ZWQgbW9kZWwgc2NvcmVzIGZvciBhIHBsYXllciBhcmUgYE1vZGVsX1Njb3JlYC4gICAgICAgICANCiANCiMjIyBBbGwgUCAgDQoNCmBgYHtyfQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX1RvdGFsMiA9DQpwaXRjaGluZ19EYXRhX05vbkFkal9Qcm9qZWN0aW9uc19Ub3RhbDIgJT4lIA0KICBtdXRhdGUoDQogICAgQXZnX0lQID0gbWVhbihJUCAsIG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZV9yYXcgPSBpZmVsc2UoaXMubmEoUHJlZGljdF9TY29yZSksTkEsUHJlZGljdF9TY29yZSooSVAvQXZnX0lQKSpBZGp1c3RtZW50X2ZhY3RvcikNCiAgKSAlPiUgc2VsZWN0KC1BdmdfSVApDQoNCg0KRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzIgPQ0KRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfVG90YWwyICU+JSANCiAgbXV0YXRlKA0KICAgIG1heF9wcmVkc2NvcmU9IG1heChBZGpQcmVkaWN0X1Njb3JlX3JhdyxuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmUgPSBpZmVsc2UgKGlzLm5hKEFkalByZWRpY3RfU2NvcmVfcmF3KSxOQSxBZGpQcmVkaWN0X1Njb3JlX3JhdyksDQogICAgV0FSX3JhbmsgPSBvcmRlcihvcmRlcihyYW5rKFdBUix0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlX1JhbmsgPSBvcmRlcihvcmRlcihyYW5rKEFkalByZWRpY3RfU2NvcmUsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSktc3VtKGlzLm5hKEFkalByZWRpY3RfU2NvcmUpKSwNCiAgICAgICAgUmFua3NfQWJvdmVfQURQID0gQURQIC0gQWRqUHJlZGljdF9TY29yZV9SYW5rDQogICkgJT4lDQpmaWx0ZXIoSVAgPiAxOSkgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpICAlPiUgZHJvcF9uYShXQVIpDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9BbGxfUE9TMiksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9BbGxfUE9TMildICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUGl0Y2hpbmdfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBpdGNoaW5nX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KDQoNCmBgYA0KDQoNCiMjIyBTUA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfVG90YWwyID0NCnBpdGNoaW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zX1RvdGFsMiAlPiUgDQogIG11dGF0ZSgNCiAgICBBdmdfSVAgPSBtZWFuKElQLCBuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfcmF3ID0gaWZlbHNlKGlzLm5hKFByZWRpY3RfU2NvcmUpLE5BLFByZWRpY3RfU2NvcmUqKElQL0F2Z19JUCkqMSkNCiAgKSAlPiUgc2VsZWN0KC1BdmdfSVApICU+JQ0KZmlsdGVyKElQID4gMTkgJiBQb3NpdGlvblNQID09MSkgJT4lIGRyb3BfbmEoV0FSKQ0KDQoNCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyID0NCkZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX1RvdGFsMiAlPiUgDQogIG11dGF0ZSgNCiAgICBtYXhfcHJlZHNjb3JlPSBtYXgoQWRqUHJlZGljdF9TY29yZV9yYXcsbmEucm0gPSBUKSwNCiAgICBBZGpQcmVkaWN0X1Njb3JlID0gaWZlbHNlIChpcy5uYShBZGpQcmVkaWN0X1Njb3JlX3JhdyksTkEsQWRqUHJlZGljdF9TY29yZV9yYXcpLA0KICAgIFdBUl9yYW5rID0gb3JkZXIob3JkZXIocmFuayhXQVIsdGllcy5tZXRob2QgPSAnYXZlcmFnZScpLGRlY3JlYXNpbmcgPSBUUlVFKSksDQogICAgQWRqUHJlZGljdF9TY29yZV9SYW5rID0gb3JkZXIob3JkZXIocmFuayhBZGpQcmVkaWN0X1Njb3JlLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLXN1bShpcy5uYShBZGpQcmVkaWN0X1Njb3JlKSksDQogICAgICAgIFJhbmtzX0Fib3ZlX0FEUCA9IEFEUCAtIEFkalByZWRpY3RfU2NvcmVfUmFuaw0KICApICAlPiUgICANCiAgc2VsZWN0IChOYW1lLFRlYW0sUG9zaXRpb24sQURQLFdBUiwgV0FSX3JhbmssQWRqUHJlZGljdF9TY29yZSAsQWRqUHJlZGljdF9TY29yZV9SYW5rLFJhbmtzX0Fib3ZlX0FEUCwgUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KZnRfZHQgPC0gRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfQWxsX1BPUzJbMTpucm93KEZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyKSwgMTpuY29sKEZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyKV0gJT4lIA0KIyU+JSANCiNmaWx0ZXIoQWRqUHJlZGljdF9TY29yZV9SYW5rPjApDQogYXJyYW5nZSgoQURQKSkNCg0KZnRfZHQkQURQIDwtIGNvbG9yX3RpbGUoIndoaXRlIiwgInJlZCIpKGZ0X2R0JEFEUCkNCg0KZnRfZHQkV0FSIDwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkV0FSKQ0KDQoNCmZ0X2R0JEFkalByZWRpY3RfU2NvcmU8LSAgcm91bmQoKGZ0X2R0JEFkalByZWRpY3RfU2NvcmUpLDIpDQoNCmZ0X2R0JE1vZGVsX1Njb3JlPC0gY29sb3JfYmFyKCJsaWdodGJsdWUiKShmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKQ0KDQpmdF9kdCRXQVJfUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JFdBUl9yYW5rKQ0KDQpmdF9kdCRQb3NpdGlvbl9SYW5rIDwtIGNvbG9yX3RpbGUoImdyZWVuIiwib3JhbmdlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZV9SYW5rKSANCg0KDQpmdF9kdCRSYW5rc19BYm92ZV9BRFAgPC0gDQogIGlmZWxzZSgNCiAgZnRfZHQkUmFua3NfQWJvdmVfQURQIDwgMCwNCiAgY2VsbF9zcGVjKHJvdW5kKGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCwyKSwgY29sb3IgPSAicmVkIiwgaXRhbGljID0gVCksDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gImdyZWVuIiwgaXRhbGljID0gVCkNCikNCg0KZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSA8LSByb3VuZChmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5LCAyKQ0KDQpmdF9kdCRQb3NfU2NhcmNpdHkgPC0gY29sb3JfdGlsZSgicmVkIiwid2hpdGUiKShmdF9kdCRQb3NpdGlvbmFsX1NjYXJjaXR5KQ0KDQojTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkNCg0KZnRfZHQyIDwtIGZ0X2R0W2MoIk5hbWUiLCJUZWFtIiwiUG9zaXRpb24iLCJBRFAiLCAiV0FSIiwgIk1vZGVsX1Njb3JlIiwgIldBUl9SYW5rIiwiUG9zaXRpb25fUmFuayIsIlBvc19TY2FyY2l0eSIpXQ0KDQoNCnRhYmxlX2V4cG9ydCA9IA0Ka2JsKGZ0X2R0MiwgZXNjYXBlID0gRikgJT4lIA0KIGthYmxlX21hdGVyaWFsKGMoInN0cmlwZWQiLCAiaG92ZXIiLCJjb25kZW5zZWQiLCJyZXNwb25zaXZlIiksZnVsbF93aWR0aCA9IEYsZml4ZWRfdGhlYWQgPSBUKSAlPiUgICBjb2x1bW5fc3BlYyg2LCB3aWR0aCA9ICIzY20iKSMgJT4lDQogIyBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiLCAiU2NvcmVzIiA9IDUsICJSYW5rcyIgPSAzLCIgIikpDQoNCnRhYmxlX2V4cG9ydCAgDQoNCg0KYGBgDQoNCg0KDQojIyMgUlAgIA0KV0FSIFJhbmtzIGFyZSBmb3IgdGhlIHBvc2l0aW9uLCBhbmQgUG9zX1JhbmsgaXMgYmFzZWQgb24gTW9kZWwgU2NvcmUgICAgDQpgYGB7cn0NCg0KRmFuR3JhcGhfUG9zaXRpb25zX1BpdGNoZXJfVG90YWwyID0NCnBpdGNoaW5nX0RhdGFfTm9uQWRqX1Byb2plY3Rpb25zX1RvdGFsMiAlPiUgDQogIG11dGF0ZSgNCiAgICBBdmdfSVAgPSBtZWFuKElQLCBuYS5ybSA9IFQpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfcmF3ID0gaWZlbHNlKGlzLm5hKFByZWRpY3RfU2NvcmUpLE5BLFByZWRpY3RfU2NvcmUqKElQL0F2Z19JUCkqMSkNCiAgKSAlPiUgc2VsZWN0KC1BdmdfSVApICU+JQ0KZmlsdGVyKElQID4gMTkgJiBQb3NpdGlvblJQID09MSkgICU+JSBkcm9wX25hKFdBUikNCg0KDQpGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9BbGxfUE9TMiA9DQpGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9Ub3RhbDIgJT4lIA0KICBtdXRhdGUoDQogICAgbWF4X3ByZWRzY29yZT0gbWF4KEFkalByZWRpY3RfU2NvcmVfcmF3LG5hLnJtID0gVCksDQogICAgQWRqUHJlZGljdF9TY29yZSA9IGlmZWxzZSAoaXMubmEoQWRqUHJlZGljdF9TY29yZV9yYXcpLE5BLEFkalByZWRpY3RfU2NvcmVfcmF3KSwNCiAgICBXQVJfcmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoV0FSLHRpZXMubWV0aG9kID0gJ2F2ZXJhZ2UnKSxkZWNyZWFzaW5nID0gVFJVRSkpLA0KICAgIEFkalByZWRpY3RfU2NvcmVfUmFuayA9IG9yZGVyKG9yZGVyKHJhbmsoQWRqUHJlZGljdF9TY29yZSx0aWVzLm1ldGhvZCA9ICdhdmVyYWdlJyksZGVjcmVhc2luZyA9IFRSVUUpKS1zdW0oaXMubmEoQWRqUHJlZGljdF9TY29yZSkpLA0KICAgICAgICBSYW5rc19BYm92ZV9BRFAgPSBBRFAgLSBBZGpQcmVkaWN0X1Njb3JlX1JhbmsNCiAgKSAgJT4lICAgDQogIHNlbGVjdCAoTmFtZSxUZWFtLFBvc2l0aW9uLEFEUCxXQVIsIFdBUl9yYW5rLEFkalByZWRpY3RfU2NvcmUgLEFkalByZWRpY3RfU2NvcmVfUmFuayxSYW5rc19BYm92ZV9BRFAsIFBvc2l0aW9uYWxfU2NhcmNpdHkpDQoNCmZ0X2R0IDwtIEZhbkdyYXBoX1Bvc2l0aW9uc19QaXRjaGVyX0FsbF9QT1MyWzE6bnJvdyhGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9BbGxfUE9TMiksIDE6bmNvbChGYW5HcmFwaF9Qb3NpdGlvbnNfUGl0Y2hlcl9BbGxfUE9TMildICU+JSANCiMlPiUgDQojZmlsdGVyKEFkalByZWRpY3RfU2NvcmVfUmFuaz4wKQ0KIGFycmFuZ2UoKEFEUCkpDQoNCmZ0X2R0JEFEUCA8LSBjb2xvcl90aWxlKCJ3aGl0ZSIsICJyZWQiKShmdF9kdCRBRFApDQoNCmZ0X2R0JFdBUiA8LSBjb2xvcl9iYXIoImxpZ2h0Ymx1ZSIpKGZ0X2R0JFdBUikNCg0KDQpmdF9kdCRBZGpQcmVkaWN0X1Njb3JlPC0gIHJvdW5kKChmdF9kdCRBZGpQcmVkaWN0X1Njb3JlKSwyKQ0KDQpmdF9kdCRNb2RlbF9TY29yZTwtIGNvbG9yX2JhcigibGlnaHRibHVlIikoZnRfZHQkQWRqUHJlZGljdF9TY29yZSkNCg0KZnRfZHQkV0FSX1JhbmsgPC0gY29sb3JfdGlsZSgiZ3JlZW4iLCJvcmFuZ2UiKShmdF9kdCRXQVJfcmFuaykNCg0KZnRfZHQkUG9zaXRpb25fUmFuayA8LSBjb2xvcl90aWxlKCJncmVlbiIsIm9yYW5nZSIpKGZ0X2R0JEFkalByZWRpY3RfU2NvcmVfUmFuaykgDQoNCg0KZnRfZHQkUmFua3NfQWJvdmVfQURQIDwtIA0KICBpZmVsc2UoDQogIGZ0X2R0JFJhbmtzX0Fib3ZlX0FEUCA8IDAsDQogIGNlbGxfc3BlYyhyb3VuZChmdF9kdCRSYW5rc19BYm92ZV9BRFAsMiksIGNvbG9yID0gInJlZCIsIGl0YWxpYyA9IFQpLA0KICBjZWxsX3NwZWMocm91bmQoZnRfZHQkUmFua3NfQWJvdmVfQURQLDIpLCBjb2xvciA9ICJncmVlbiIsIGl0YWxpYyA9IFQpDQopDQoNCmZ0X2R0JFBvc2l0aW9uYWxfU2NhcmNpdHkgPC0gcm91bmQoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSwgMikNCg0KZnRfZHQkUG9zX1NjYXJjaXR5IDwtIGNvbG9yX3RpbGUoInJlZCIsIndoaXRlIikoZnRfZHQkUG9zaXRpb25hbF9TY2FyY2l0eSkNCg0KI05hbWUsVGVhbSxQb3NpdGlvbixBRFAsV0FSLCBXQVJfcmFuayxBZGpQcmVkaWN0X1Njb3JlICxBZGpQcmVkaWN0X1Njb3JlX1JhbmssUmFua3NfQWJvdmVfQURQLCBQb3NpdGlvbmFsX1NjYXJjaXR5DQoNCmZ0X2R0MiA8LSBmdF9kdFtjKCJOYW1lIiwiVGVhbSIsIlBvc2l0aW9uIiwiQURQIiwgIldBUiIsICJNb2RlbF9TY29yZSIsICJXQVJfUmFuayIsIlBvc2l0aW9uX1JhbmsiLCJQb3NfU2NhcmNpdHkiKV0NCg0KDQp0YWJsZV9leHBvcnQgPSANCmtibChmdF9kdDIsIGVzY2FwZSA9IEYpICU+JSANCiBrYWJsZV9tYXRlcmlhbChjKCJzdHJpcGVkIiwgImhvdmVyIiwiY29uZGVuc2VkIiwicmVzcG9uc2l2ZSIpLGZ1bGxfd2lkdGggPSBGLGZpeGVkX3RoZWFkID0gVCkgJT4lICAgY29sdW1uX3NwZWMoNiwgd2lkdGggPSAiM2NtIikjICU+JQ0KICMgYWRkX2hlYWRlcl9hYm92ZShjKCIgIiwgIlNjb3JlcyIgPSA1LCAiUmFua3MiID0gMywiICIpKQ0KDQp0YWJsZV9leHBvcnQgIA0KDQoNCmBgYA0KDQoNCg0K